jquery中ajax的分页,利用jQuery中的ajax分页实现代码

本文实例讲解了用jQuery中的ajax分页相关代码,分享给大家供大家参考,具体内容如下

把分页封装到一个jsp里,那么大家就可以通过include的方式引入分页的页面这里起名为page_ajax.jsp

本人封装后,使用者需要在页面中引入page_ajax.jsp,并且在查询列表的时候,点击按钮,调用自定义的方法,如myFunction(),在这个方法里头,调用自己拓展的jquer方法,$.pageAjax(url,functionName,showDIv);这里的url是你要请求的ajax的url,functionName为你要得到回调数据后处理拼串给tbody动态赋值的方法,而showDIv是你隐藏的div。

也就是这样写即可:

function pageAjax(){

var url="${ctx}/system/conProductInfo/listOfAjax.action";

$.pageAjax(url,"productMessageDiv","showList");

}

productMessageDiv:这个就是你预先隐藏的div如下:

产品编码产品名称产品型号产品品牌产品分类供应商产品规格

showList这个就是你得到回调数据调用的方法:

function showList(data){

var list=data.list;

var str;

if(list==""||list==null){

str="

系统无纪录!";

}else{

for(var i=0;i

str=str+"

"+list[i].productCode+""+list[i].productName+""+list[i].productType+""+list[i].brandName+""+list[i].typeName+""+list[i].companyShortname+""+list[i].productCode+"";

}

}

if($('#key').val()==""||$('#key').val()==null)$('#key').append("产品名称产品编号");

$("#msgContent").empty();

$("#msgContent").append(str);

}

复杂点的东西在page_ajax.jsp里头

var ajaxUrl;

var showDivName;

var ajaxFunctionName;

jQuery.extend({

pageAjax: function(url,div,functionName){

ajaxUrl=url;

showDivName=div;

ajaxFunctionName=functionName;

$.ajax({

url:url,

data:{"pageRequest.page":$('#pagePage').val(),"pageRequest.rows":$('#pageRows').val()},

dataType: "json",

success: function(data){

eval(functionName+"(data)");

$.changePageAjax(data);

showWin(div);

}

});

},

pageAjaxOfParam: function(url,div,functionName,key,value){

$.ajax({

url:url,

data:{"pageRequest.page":$('#pagePage').val(),"pageRequest.rows":$('#pageRows').val(),"key":key,"value":value},

dataType: "json",

success: function(data){

eval(functionName+"(data)");

$.changePageAjax(data);

showWin(div);

}

});

}

,

changePageAjax: function(data) {

var totalCount = data.totalCount;

changeDefaultRows(data);

var pageCount = totalCount % parseInt($("#pageRows").val())== 0 ?

parseInt(totalCount/parseInt($("#pageRows").val())):

parseInt(totalCount/parseInt($("#pageRows").val()))+1;

$("#totalPage").html(pageCount+'');

$("#totalCount").html(totalCount+'');

changeButton(pageCount);

}

});

function changePage(pageTitle) {

if(pageTitle == "previous"){

$('#pagePage').val(parseInt($('#pagePage').val()) - 1);

}else if(pageTitle == "next"){

$('#pagePage').val(parseInt($('#pagePage').val()) + 1);

}else if(pageTitle == "first"){

$('#pagePage').val(1);

}else if(pageTitle == "last"){

var totalCount = parseInt($('#totalCount').html());

$('#pagePage').val(parseInt((totalCount - 1) / parseInt($('#pageRows').val()) + '') + 1);

}

go();

}

function goToPointedPage(){

var pointedPageNum = $('#forwardPageNum').val();

var patrn = /^\+?[1-9][0-9]*$/;

if(!patrn.exec(pointedPageNum)){

alert('页数请输入正整数');

return;

}

if(parseInt(pointedPageNum) > parseInt($('#totalPage').html())){

alert('输入页数不得超过最大页数');

return;

}

$('#pagePage').val(parseInt(pointedPageNum));

go();

}

function changeButton(pageCount){

$('#forwardPageNum').val($('#pagePage').val());

if(pageCount == 1){

$("#beforePage").attr("disabled","disabled");

$("#firstPage").attr("disabled","disabled");

$("#nextPage").attr("disabled","disabled");

$("#lastPage").attr("disabled","disabled");

}else if($("#forwardPageNum").val() < pageCount){ //如果页数比总页数小,则下一页和末页能用

$("#nextPage").removeAttr("disabled");

$("#lastPage").removeAttr("disabled");

if($("#forwardPageNum").val() >1){ //如果页数大于1,说明 1

$("#firstPage").removeAttr("disabled");

$("#beforePage").removeAttr("disabled");

}else{ //在页数比总页数小的其他情况下,就只存在一种就是等于1

$("#firstPage").attr("disabled","disabled"); //当等于1 的时候,首页和上一页不可用

$("#beforePage").attr("disabled","disabled");

}

} else{

$("#beforePage").removeAttr("disabled");

$("#firstPage").removeAttr("disabled");

$("#nextPage").attr("disabled","disabled");

$("#lastPage").attr("disabled","disabled");

}

}

function changeDefaultRows(data){

if($("#pageRows").val()==null||$("#pageRows").val()==""){

$("#pageRows").empty();

$("#pageRows").append("默认条数"+data.pAGESIZES[1]+""+data.pAGESIZES[2]+"");

}

}

function changeRows(){

$('#pagePage').val(1);

go();

}

function go(){

$.pageAjax(ajaxUrl,showDivName,ajaxFunctionName);

}

function clearPageInfo(){

$("#pagePage").val('1');

}

$(function(){

$("body").keydown(function(event){

if(event.keyCode == 13){

goToPointedPage();

}

});

});

/

要明白ajax请求的时候是刷新你特定的部门,我一开始就在这里出了问题。其实在做分页的时候,给后台传值,只是当前页和每页的显示个数,其他没了,分页的按钮和下方的列表是分离的,不用去联系,这样能使问题简单。时间有限就这样了,仔细看代码就可以了。

想要了解更多内容请参考专题:《jquery分页功能操作》

以上就是本文的全部内容,希望对大家学习jquery程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值