pagination的分页控件的使用

不明觉厉007 2013-10-11 09:45:49
$('#Pagination').pagination(total,{callback:pageselectCallback}); 分页的初始化,total是根据请求条件返回的查询到的数据总数,使用ajax实现的,当success执行时才能获取到total,但分页函数在total没有返回时,已经执行。因为js是这样子写的:
$(document).ready(function()
{
$("#Pagination").pagination(total, {callback: pageselectCallback});
});
pageselectCallback函数中包含ajax进行请求发送,通过它发送请求获取数据。发送请求又初始化分页,这两者好像矛盾了,因为初始化分页是需要根据请求返回的total进行的。这个问题有点理解不了,求高手指教,这问题的解决办法.....感激。。。。
...全文
635 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangjiaoyahao754 2016-02-28
  • 打赏
  • 举报
回复
请问楼主问题解决了没有,我今天遇到了同样的问题,我想先用ajax 请求获得页数总和,放到 pagination当中,但是貌似 总是 pagination先执行,虽然 页面总数获得代码放在前面,导致要点击两次才能正确的显示下面的页面标签,虽然数据量都是正确的。求解答,着急啊
星月永随 2013-10-13
  • 打赏
  • 举报
回复
用两次请求实现,第一次请求成功时就获取到总数了。。。。
Go 旅城通票 2013-10-12
  • 打赏
  • 举报
回复
楼主自己逻辑有问题吧,pagination只是生成导航条,不发送ajax 自己看下api
tony4geek 2013-10-12
  • 打赏
  • 举报
回复
应该回调出现循环了吧
不明觉厉007 2013-10-12
  • 打赏
  • 举报
回复
求会的帮你纠正下错误吧,实在迷茫了...$('Pagination').pagination(total,{callback:getSelectback});这函数不能放在success中的,会死循环。
不明觉厉007 2013-10-12
  • 打赏
  • 举报
回复
我的实现是这样子的: $(function() { var total=0; //参数为页码 function request_show(pageNo) { $.ajax( { url:'TestServlet'; type:'post', dataType:'json', //数据查询条件 data:{ 'action':'search', 'condition':condition 'pageNo':pageNo, //页码 'pageSize':13 //条目数,写死 } success:function(r) {//返回的r中是这样子的{“rows”:.....,"total":506} rows是13条数据的内容,total是当前条件的 总数 。 。 。 total在这里进行赋值 total=r.total; 动态生成表格的代码 } }); } //request_show 函数结尾 //分页控件中帮助获取页码函数 function getSelectBack(page_index,jq) { pageNo=page_index; //调用request_show(pageNo); request_show() } //getSelectback 结束 //分页初始化函数 function init() { $('Pagination').pagination(total,{callback:getSelectback}); } //初始化时自我执行一次 init(); }
不明觉厉007 2013-10-12
  • 打赏
  • 举报
回复
楼上可能说得没错吧,网页需要实现这样的效果:页面初始化,jsp请求发送servlet到10条数据内容和(当前条件下)数据的总数;然后pagination根据数据总数进行分页;当点击第二页的时候,发送页码2,条目数10和查询条件到servlet,再返回10条数据内容.....大概就是动态获取数据吧
key2value 2013-10-11
  • 打赏
  • 举报
回复
页面初始化的时候查一次ajax?
Go 旅城通票 2013-10-11
  • 打赏
  • 举报
回复
$("#Pagination").pagination(total, {callback: pageselectCallback});放到查询到的数据总数的ajax回调中,而不是放到$(document).ready中
不明觉厉007 2013-10-11
  • 打赏
  • 举报
回复
初始化的时候是要执行一次ajax的,因为表格是动态生成的
不明觉厉007 2013-10-11
  • 打赏
  • 举报
回复
$("#Pagination").pagination(total, {callback: pageselectCallback})放在$(document).ready中,callback函数会自动发送请求;如果放到ajax的success中会出现死循环。因为先执行,请求函数,返回后执行success;而success中的$("#Pagination").pagination(total, {callback: pageselectCallback})这句话会再次自动发送请求,总是“成功——>请求——>成功——>成功。。。。。。不断重复

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧