<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        基于AJAX的分頁類實現代碼

        來源:懂視網 責編:小采 時間:2020-11-27 22:52:31
        文檔

        基于AJAX的分頁類實現代碼

        基于AJAX的分頁類實現代碼: 代碼如下:/** * <p>pagination.js * <p>通用的基于AJAX的分頁類 * @author jeanwendy * @version 1.0 */ var paginationIndex = 0; var pagination = function(trTemplatId) { $().ajax
        推薦度:
        導讀基于AJAX的分頁類實現代碼: 代碼如下:/** * <p>pagination.js * <p>通用的基于AJAX的分頁類 * @author jeanwendy * @version 1.0 */ var paginationIndex = 0; var pagination = function(trTemplatId) { $().ajax

        代碼如下:
        /**
        * <p>pagination.js
        * <p>通用的基于AJAX的分頁類
        * @author jeanwendy
        * @version 1.0
        */
        var paginationIndex = 0;
        var pagination = function(trTemplatId) {
            $().ajaxStart(function() {
                $.blockUI({
                    message : '<table><tr><td style="vertical-align :bottom"><font size=2pt> 加載數據,請稍后...</font></td></tr></table>'
                });
            }).ajaxStop($.unblockUI);

            paginationIndex = paginationIndex + 1;
            this.id = paginationIndex;
            this.trTemplatId = trTemplatId;
            this.pageNo = 1;
            this.pageSize = 10;
            this.beforeQuery = null;
            this.afterQuery = null;
            this.url = null;
            this.params = null;
            this.templat = null;
            this.childrenCount = null;

            this.setPageNo = function(pageNo) {
                if (pageNo != null)
                    this.pageNo = pageNo;
            }
            this.setPageSize = function(pageSize) {
                if (pageSize != null)
                    this.pageSize = pageSize;
            }
            this.setBeforeQuery = function(fn){
                this.beforeQuery = fn;
            }
            this.setAfterQuery = function(fn){
                this.afterQuery = fn;
            }

            this.load = function(url, params) {
                //初始化(只在第一次查詢時執行)
                if(this.templat == null && this.childrenCount == null){
                    var templatObj = $('#'+this.trTemplatId);
                    templatObj.parent().attr('id','tbody_id'+this.id);
                    templatObj.removeAttr('id');
                    templatObj.wrap("<div id='divTemplat'></div>");
                    this.templat = $('#divTemplat').html();
                    $('#divTemplat').remove();
                    this.childrenCount = $('#tbody_id'+this.id).children().size();
                }
                //開始查詢
                this.url = url;
                if(params == null) params = {};
                $.extend(params,{pageNo:this.pageNo,pageSize:this.pageSize});
                this.params = params;
                var thisObj = this;
                var options = {
                    url : url,
                    data : params,
                    async : false, //采用同步方式請求
                    type : 'POST',
                    dataType : 'json',
                    error : function(xmlhttp, errInfo, e) { //請求出錯處理:如:404等
                        if (xmlhttp.status == 200) alert('您已經很長時間沒有訪問網站,請退出后重新登陸!');
                        else alert('請求后臺服務時發生錯誤:' + xmlhttp.status);
                    },
                    success : function(data){
                        //刪除上一次的數據
                        $('#tbody_id'+thisObj.id).children().filter(':gt('+(thisObj.childrenCount-1)+')').remove();
                        thisObj.pageList(data.data);
                        thisObj.pageBar(data.total);
                        if($.isFunction(thisObj.afterQuery)) thisObj.afterQuery();
                    }
                };
                if($.isFunction(this.beforeQuery)) this.beforeQuery();
                $.ajax(options); //發送請求
            }

            this.pageList = function(data){
                var filedArr = this.templat.match(/\{[A-Za-z0-9_]+\}/ig);
                for(var i = 0;i < data.length;i++){
                    var thisTemplat = this.templat;
                    for(var j = 0;j < filedArr.length;j++){
                        var key = filedArr[j].substring(1,filedArr[j].length-1);
                        if(key == 'NO_'){ //序號標識
                            var value = (this.pageNo-1)*this.pageSize + i + 1;
                            thisTemplat = thisTemplat.replace(new RegExp('\{'+key+'\}','gm'),value);
                        }else{
                            var value = data[i][key];
                            if(typeof(value) != "undefined" && value == null) value = '';
                            thisTemplat = thisTemplat.replace(new RegExp('\{'+key+'\}','gm'),value);
                        }
                    }
                    $(thisTemplat).appendTo($('#tbody_id'+this.id));
                }
            }

            this.pageBar = function(total){
                var templatObj = $(this.templat);
                var delChildren = templatObj.children(':gt(0)');
                delChildren.remove();
                templatObj.children().attr('colspan',$(this.templat).children().size());
                templatObj.children().attr('align','right');
                var pageCount;
                if(total % this.pageSize == 0) pageCount = total/this.pageSize;
                else pageCount = parseInt(total/this.pageSize) + 1;
                if(pageCount == 0) pageCount = 1;
                var toolbar = "第"+this.pageNo+"/"+pageCount+"頁("+total+"條記錄)";
                if(this.pageNo == 1) toolbar = toolbar + " 首頁 上頁";
                else toolbar = toolbar + " <a href='' id='firstPage"+this.id+"'>首頁</a> <a href='' id='prePage"+this.id+"'>上頁</a>";
                if(this.pageNo == pageCount) toolbar = toolbar + " 下頁 末頁";
                else toolbar = toolbar + " <a href='' id='nextPage"+this.id+"'>下頁</a> <a href='' id='lastPage"+this.id+"'>末頁</a>";
                toolbar = toolbar + " 每頁<input style='text-align:center;width:25px;height:20px;border:1 solid black' type='text' id='pageSize"+this.id+"' value="+this.pageSize+" />條";
                toolbar = toolbar + " <input style='text-align:center;width:25px;height:20px;border:1 solid black' type='text' id='pageNo"+this.id+"' value="+this.pageNo+" />";
                toolbar = toolbar + " <input style='height:20px;border:1 solid black' id='goPage"+this.id+"' type='button' value='GO'>";
                templatObj.children().html(toolbar);
                $(templatObj.wrap("<div></div>").parent().html()).appendTo($('#tbody_id'+this.id));
                var thisObj = this;
                $('#firstPage'+thisObj.id).click(function(){
                    thisObj.pageNo = 1;
                    thisObj.load(thisObj.url,thisObj.params);
                    return false;
                });
                $('#prePage'+thisObj.id).click(function(){
                    thisObj.pageNo = parseInt(thisObj.pageNo) - 1;
                    thisObj.load(thisObj.url,thisObj.params);
                    return false;
                });
                $('#nextPage'+thisObj.id).click(function(){
                    thisObj.pageNo = parseInt(thisObj.pageNo) + 1;
                    thisObj.load(thisObj.url,thisObj.params);
                    return false;
                });
                $('#lastPage'+thisObj.id).click(function(){
                    thisObj.pageNo = pageCount;
                    thisObj.load(thisObj.url,thisObj.params);
                    return false;
                });
                $('#pageSize'+thisObj.id).keydown(function(e){
                    if(e.keyCode==13) {
                        var v = $('#pageSize'+thisObj.id).val();
                        if(!isIntGreatZero(v) || v == '0'){
                            alert('您輸入顯示條數不合法,請重新輸入!');
                            $("#pageSize"+thisObj.id).focus();
                            return;
                        }
                        if(v > 200){
                            alert('您輸入顯示條數過大了,請重新輸入!');
                            $("#pageSize"+thisObj.id).focus();
                            return;
                        }
                        thisObj.pageNo = 1;
                        thisObj.pageSize = v;
                        thisObj.load(thisObj.url,thisObj.params);
                    }
                });
                $('#pageNo'+thisObj.id).keydown(function(e){
                    if(e.keyCode==13) {
                        $('#goPage'+thisObj.id).triggerHandler('click');
                    }
                });
                $('#goPage'+thisObj.id).click(function(){
                 var v = $('#pageNo'+thisObj.id).val();
                    if(!isIntGreatZero(v) || v == '0'){
                        alert('您輸入頁數不合法,請重新輸入!');
                        $("#pageNo"+thisObj.id).focus();
                        return;
                    }
                 if(v > pageCount){
                        alert('您輸入頁數大于總頁數,請重新輸入!');
                        $("#pageNo"+thisObj.id).focus();
                        return;
                    }
                    thisObj.pageNo = v;
                    thisObj.load(thisObj.url,thisObj.params);
                });
            }

        }
        //true if the string is empty
        var isEmpty = function(text) {
            var isEmpty = true;
            for (var i = 0; i < text.length; i++) {
                if (text.charAt(i) != ' ') {
                    isEmpty = false;
                    break;
                }
            }
            return isEmpty;
        }
        //true if the string is int and great than zero or equals zero
        var isIntGreatZero = function(str) {
            if (isEmpty(str))
                return false;
            var temp1 = true;
            var temp2 = '0123456789';
            for (var i = 0; i < str.length; i++) {
                var c = str.charAt(i);
                if (temp2.indexOf(c) == -1) {
                    temp1 = false;
                    break;
                } else {
                    if (c == '0' && i == 0 && str.length > 1) {
                        temp1 = false;
                        break;
                    }
                }
            }
            return temp1;
        }

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        基于AJAX的分頁類實現代碼

        基于AJAX的分頁類實現代碼: 代碼如下:/** * <p>pagination.js * <p>通用的基于AJAX的分頁類 * @author jeanwendy * @version 1.0 */ var paginationIndex = 0; var pagination = function(trTemplatId) { $().ajax
        推薦度:
        標簽: 實現 代碼 分頁
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 又长又大又粗又硬3p免费视频| 亚洲色一区二区三区四区| 污网站在线免费观看| 宅男666在线永久免费观看| 久久亚洲精品国产亚洲老地址| 亚洲一区二区免费视频| 亚洲大尺码专区影院| 日本视频一区在线观看免费| 亚洲成在人线电影天堂色| 免费精品国产自产拍在线观看图片 | 88av免费观看| 亚洲欧洲高清有无| 69式国产真人免费视频| 亚洲三级高清免费| 免费人成激情视频| 国产精品玖玖美女张开腿让男人桶爽免费看 | 亚洲AV无码乱码在线观看性色扶 | 国产亚洲av人片在线观看| 免费一区二区无码东京热| 亚洲高清美女一区二区三区| 91九色老熟女免费资源站| 亚洲国产91在线| 四虎国产精品免费视| aa级毛片毛片免费观看久| 久久久国产精品亚洲一区| 成人免费午夜视频| 一级毛片在线完整免费观看| 亚洲av无码乱码国产精品fc2| 最近的中文字幕大全免费8| 亚洲精品无码mⅴ在线观看| 亚洲自偷精品视频自拍| 精品国产污污免费网站aⅴ| 亚洲 欧洲 视频 伦小说| xvideos亚洲永久网址| 久久久精品免费视频| 久久亚洲精品国产精品婷婷| 亚洲精品视频免费观看| 久久99国产综合精品免费| 亚洲AV无码专区在线电影成人| 中文字幕精品亚洲无线码一区应用| 2021精品国产品免费观看|