亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

基于AJAX的分頁類實現代碼

2024-09-01 08:31:33
字體:
來源:轉載
供稿:網友
隨著AJAX在互聯網上的廣泛運用,公司也在越來越多的項目里涉及到了AJAX,最近一段時間空閑,于是就用JS寫了一個基于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><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></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=''>首頁</a> <a href=''>上頁</a>";
if(this.pageNo == pageCount) toolbar = toolbar + " 下頁 末頁";
else toolbar = toolbar + " <a href=''>下頁</a> <a href=''>末頁</a>";
toolbar = toolbar + " 每頁<input type='text' value="+this.pageSize+" />條";
toolbar = toolbar + " <input type='text' value="+this.pageNo+" />";
toolbar = toolbar + " <input 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;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲2020天天堂在线观看| 国产99在线|中文| 成人免费网站在线看| 国产精品a久久久久久| 成人激情av在线| 国产99视频在线观看| 亚洲视频国产视频| 精品高清一区二区三区| 777午夜精品福利在线观看| 日韩精品欧美国产精品忘忧草| 精品久久久久久中文字幕大豆网| 在线播放日韩av| 日本91av在线播放| 国产精品欧美激情| 日韩电影在线观看永久视频免费网站| 宅男66日本亚洲欧美视频| 91wwwcom在线观看| 国外日韩电影在线观看| 91手机视频在线观看| 国产在线久久久| 亚洲欧美国内爽妇网| 在线观看视频亚洲| 欧美国产日韩xxxxx| 国产999精品视频| 尤物tv国产一区| 日韩在线免费观看视频| 亚洲性线免费观看视频成熟| 国外色69视频在线观看| 91深夜福利视频| 欧美激情视频三区| 亚洲精品免费av| 麻豆精品精华液| 日韩在线不卡视频| 久久久久久久久久久av| 精品视频久久久久久| 亚洲午夜精品久久久久久久久久久久| 日韩在线小视频| 亚洲成人精品视频| 精品国产精品自拍| 欧美激情网站在线观看| 亚洲午夜久久久久久久| 97精品国产aⅴ7777| 国产精品一久久香蕉国产线看观看| 亚洲欧美日韩一区二区在线| 亚洲第一av网| 日韩视频一区在线| 精品久久久国产精品999| 欧美夫妻性生活xx| 欧美乱大交xxxxx另类电影| 亚洲精品在线视频| 色狠狠av一区二区三区香蕉蜜桃| 91精品国产亚洲| 国产精品久久久久久久久久久不卡| 亚洲成人精品视频| 成人在线播放av| 2018日韩中文字幕| 97国产精品视频| 欧美激情视频在线| 久久久久亚洲精品| 国产亚洲视频在线观看| 国产精品激情av电影在线观看| 亚洲欧美色图片| 欧美性猛交xxxx富婆| 亚洲黄在线观看| 久久精品国产亚洲| 国产女精品视频网站免费| 欧美精品999| 欧美午夜片欧美片在线观看| 亚洲人成电影网站色…| 精品在线小视频| 九九热这里只有精品6| 在线成人激情黄色| 俺去啦;欧美日韩| 国产精品高潮粉嫩av| 国外成人在线直播| 国产精品成人播放| 亚洲国产精品美女| 麻豆乱码国产一区二区三区| 视频一区视频二区国产精品| 久久人人爽人人爽人人片av高清| 国产精品黄色影片导航在线观看| 奇米成人av国产一区二区三区| 精品久久久久久久久久久久久| 一区二区三区国产视频| 欧美老女人性生活| 国产精品久久久久久av福利软件| 亚洲人成电影网站色| 欧美性受xxx| 欧美大片在线看免费观看| 日韩视频在线免费观看| 裸体女人亚洲精品一区| 亚洲精品国产电影| 国语自产精品视频在线看一大j8| 欧美激情女人20p| 欧美插天视频在线播放| 91影院在线免费观看视频| 国产精品白丝av嫩草影院| 亚洲女人天堂成人av在线| 亚洲欧美另类自拍| 成人黄色av网| 日韩在线观看高清| 91久久国产精品| 久久这里有精品| 国产精品日韩一区| 亚洲国产成人精品一区二区| 欧美另类极品videosbestfree| 大胆人体色综合| 亚洲视频国产视频| 亚洲欧美中文日韩在线| 欧美高清在线观看| 日本一欧美一欧美一亚洲视频| 日韩亚洲第一页| 精品国产自在精品国产浪潮| 国产精品18久久久久久首页狼| 国产主播在线一区| 97久久精品人搡人人玩| 国产精品入口日韩视频大尺度| 久久久久久久久网站| 久久成人精品一区二区三区| 日韩精品在线免费观看| 久久天天躁狠狠躁夜夜躁2014| 国产91色在线免费| 欧美高清videos高潮hd| 亚洲欧美日韩在线一区| 色哟哟亚洲精品一区二区| 欧美性69xxxx肥| 欧亚精品中文字幕| 亚洲国产中文字幕久久网| 午夜精品久久久久久久99热| 国语对白做受69| 亚洲第一福利在线观看| 国产精品自产拍在线观| 亚洲国产91色在线| 欧美激情视频网址| 热门国产精品亚洲第一区在线| 欧美成人免费va影院高清| 精品亚洲国产成av人片传媒| 国产盗摄xxxx视频xxx69| 国产精品美女www| 亚洲综合精品一区二区| 亚洲电影免费观看高清| 色综合五月天导航| 中文字幕免费国产精品| 日韩av电影手机在线观看| 久久国产精品影片| 欧美精品在线第一页| 欧美性受xxxx黑人猛交| 久久久噜噜噜久久| 欧美成人三级视频网站| 日韩电影中文字幕在线观看| 8090理伦午夜在线电影| 欧美日韩中文字幕| 日本一区二区三区在线播放| 26uuu国产精品视频| 奇米一区二区三区四区久久| 日韩福利视频在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 久久精品免费电影| 91免费综合在线| 国色天香2019中文字幕在线观看| 97婷婷大伊香蕉精品视频| 国产成人小视频在线观看| 国产高清在线不卡| 国产成人精品日本亚洲|