欢迎来到天天文库
浏览记录
ID:35478091
大小:55.37 KB
页数:3页
时间:2019-03-25
《jqueryeasyuipagination分页控件点击下一页后跳转到最后一页的问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、easyui-pagination点击下一页直接跳转至!j最后一页的可能原因今天做到聊天记录展示页面的时候发现一个bug:初次进入页面加载出第一页的数据,点击下一页的时候不是到第二页而是到最后一页。如下图所示:10v第1共3页①”各初次逬入页面时,在第一页显示15110^21//l击下一贡按钮.居然直接跳到最后一頁了…
2、.K4第3共顶》[iO显示X到21^21这个bug确实让我很郁闷,最初以为是后台的问题,调试了一会儿发现跟后台没关系。随后检查了下js代码,我的paginationjs是这样写的:Js代码☆$('#pp').pagination({tota丨:’${chat
3、History.tota丨}',pageNumber:'${pageNum}',pageSize:'${pageSize},,onSeIectPage:function(pageNumber,pageSize){$(this).pagination('Ioading');$(this).pagination('丨oaded');seIf.丨ocatiori.href二"〈%=request.getContextPath0%>/message/1oChatHistory.action?sender*Id=${senderId}&page二"+pageNumber+"&rows
4、二"+pageSize;}});上面pagination的pageNumber是从hidden标签中取得值,经3alertC${pageNumy),初次进入页面时,弹出的值确实是“1”。找了半天没结果,我索性把pageNumber:,${pageNum},B^成pageNumber:1,结果bug消失了!我非常纳闷:pageNumber:'${pageNumy向后台传的值是1,而pageNumber:1向后台传的值也是1,两者完全没区别,但为什么后者点下一页就不会跳到最后一页呢?最后找到原因:js数据类型问题。我随后把代码改成这样:pageNumber:parselnt('
5、${pageNum}')。ok,bug消失了,原来${pageNum『的值是一个字符串'T,pageNumber只接收整数,无法识别字符串没结果造成了刚才的问题。经过上面的排查,我大概猜想easyui的整个运行过程:第一次向后台发送请求时,datagrid会获取pageNumber中的值,并且把pageNumber的值保存起来。用户点击下一页的时候,datagrid会使pageNumber+1然后把数据向后台发送,但是正如上面所说:如果遇到$(”#pageNo”).val()存的是一个字符串,结果会是一个字符串而不是一个整数,此时datagrid没法识别,就选择获得最后一页
6、的数据。正确的js代码:$(*-pp*)・pagination({total:*${chatHistory・total}1zpageNumber:parselnt(*${pageNum}'),pageSize:parselnt(*$(pageSize}*)fonSelectPage:function(pageNumber,pageSize){$(this)・pagination(floading');//alert(*pageNumber:f+pageNumber+*,pageSize:1+pageSize);$(this)・pagination(*loaded*);sel
7、f•location・href■n<%=request•getContextPath()%>/message/toChatHistory•action?senderId=${senderld}&page=w令pageNumber令M6row3=n+pageSize;}
此文档下载收益归作者所有