• jquery ajax 分页2


    /*
    * 分页   $("#divPager").flexipager
    *  2015.03.17
    */
    
    //初始化列表默认属性
    (function($) {
        $.addFlex = function(t, p) {
            if (t.pager) return false;   // 若已经存在Pager - DIV 对象则return
            p = $.extend({ 
                url: false,             // 获取数据源对应的url地址
                async: true,            // 默认异步加载(false=同步)
                method: 'POST',         // 数据发送方式
                dataType: 'json',       // 数据加载的类型,json
                page: 1,                // 当前页
                newp: 1,                // 默认当前页
                total: 1,               // 总页面数
                rp: 2,                 // 每页默认的结果数
                sortname: "",           // 排序字段
                sortorder: "",          // asc desc
                primaryKey: "",         // 主键字段名
                coloursEvent: ""     // 界面渲染
            }, p);
    
            $(t).show().attr({ cellPadding: 0, cellSpacing: 0, border: 0 }).removeAttr('width');
    
            var g = {
                //分页
                buildpager: function() {
                    //                g.pDiv = document.createElement('div');
                    //                g.pDiv.innerHTML = '<div class="pDiv2"></div>';
    
                    //                alert($(g.pDiv).html());
                    //                alert($(this.pDiv).html());
    
                var html = "<span class='pFirst'>首页</span>&nbsp;<span class='pPrev'>上一页</span>&nbsp;<span class='pPageStatr'>1</span>/<span class='pTotal'>1</span>&nbsp;<span class='pNext'>下一页</span>&nbsp;<span class='pLast'>尾页</span>&nbsp;&nbsp;&nbsp;";
                    html += "<span>共&nbsp;</span><span class='rTotal'>0</span><span>&nbsp;条记录</span> ";
    
                    $(t).append(html);
    
                    $('.pFirst', t).click(function() { g.changePage('first') });
                    $('.pPrev', t).click(function() { g.changePage('prev') });
                    $('.pNext', t).click(function() { g.changePage('next') });
                    $('.pLast', t).click(function() { g.changePage('last') });
                    this.populate();
                },
                //获取数据
                populate: function() {
    
                    if (p.page > p.pages)
                        p.page = p.pages;
    
                    var param = [
                          { name: 'page', value: p.newp }
                        , { name: 'rp', value: p.rp }
                        , { name: 'sortname', value: p.sortname }
                        , { name: 'sortorder', value: p.sortorder }
                        , { name: 'primaryKey', value: p.primaryKey }
    
                    ];
    
                    $.ajax({
                        type: p.method,
                        url: p.url,
                        async: p.async,
                        data: param,
                        success: function(data) {
                            data = "[" + data + "]";
                            var page = eval(data)[0].page;
                            var total = eval(data)[0].total;
                            var json = eval(data)[0].rows;
    
                            p.pages = Math.ceil(parseInt(total) / 2);
    
                            $(".pTotal", t).html(p.pages); //页数
                            $(".rTotal", t).html(total); //总记录
                            $(".pPageStatr", t).html(p.page);  //当前页
    
                            //alert(json);
                            if (p.coloursEvent)
                                p.coloursEvent(json);
    
                        },
                        error: function(data) {
                            alert("error:");
                            try {
                            } catch (e) { alert("error:"); }
                        }
                    });
                },
    
                //翻页
                changePage: function(ctype) {
                    //alert(ctype);
                    switch (ctype) {
                        case 'first':
                            //p.page = p.newp = 1;
                            p.newp = 1;
                            break;
                        case 'prev':
                            if (p.page > 1)
                                p.newp = parseInt(p.page) - 1;
                            break;
                        case 'next':
                            if (p.page < p.pages)
                                p.newp = parseInt(p.page) + 1;
                            break;
                        case 'last':
                            p.newp = p.pages;
                            break;
                    }
    
                    if (p.newp == p.page)
                        return false;
    
                    p.page = p.newp;
    
                    this.populate();
                }
            };
    
            g.buildpager();
            t.p = p;
            t.pager = g;
            if (p.url && p.autoload) {
                g.populate();
            }
            return t;
        };
        
        var docloaded = false; //文档加载完毕标识
        $(document).ready(function() { docloaded = true });
        var urlString = document.location.pathname; //当前页面的url
        var huayingPageRpNum = urlString + "-huayingPageRpNum"; //设置当前页面的分页条数
    
        //构造函数
        $.fn.flexipager = function(p) {
            return this.each(function() {
                if (!docloaded) {
                    $(this).hide();
                    var t = this;
                    $(document).ready(function() { $.addFlex(t, p); });
                } else {
                    $.addFlex(this, p);
                }
            });
        };
    
    })(jQuery);
    var hyajax =
    {
        eventAjax: function() {
    
        },
        executeAjax: function(requestType) {
            var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            xmlhttp.onreadystatechange = hyajax.eventAjax
            xmlhttp.open("")
        }
    }
        <script src="ETOS_Js/Plugin/jQuery/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="ETOS_Js/JsPager/JsPager.js" type="text/javascript"></script>
        
        <script type="text/javascript">
            $(document).ready(function() {
    
                $("#divPager").flexipager({
                    url: "/Handlers/Topics.ashx?Action=Get_AnswerList",
                    sortname: "createTime",
                    sortorder: "desc",
                    coloursEvent: addData
                });
    
    
    
            });
    
            function addData(json) {
                alert(json + " 3234");//返回一个json数据 在进行解析数据
            }
            
        </script>
  • 相关阅读:
    Lua手册中的string.len 不解
    计算机词汇(Computer Glossary)
    Qt 信号和槽机制的优缺点
    多线程,什么时候该使用?
    Linux进行挂起和杀死挂起进程
    struct和class的区别
    Number of 1 Bits
    Pascal's Triangle
    Excel Sheet Column Title
    c++单向链表
  • 原文地址:https://www.cnblogs.com/dragon-L/p/4349923.html
Copyright © 2020-2023  润新知