【发布时间】:2014-07-23 18:51:17
【问题描述】:
我有一个搜索结果屏幕,其中显示了许多行,然后使用jPages plugin 以非常简单的方式对其进行分页。这很好用。执行此操作的代码如下
<script type="text/javascript">
function paginate() {
$('div.holder').jPages({
containerID: 'searchResults',
perPage: 5
});
}
$(function(){
paginate();
});
</script>
jPage 插件快速入门 - 我有一个表格,其中正文具有标识符“searchResults”,然后在表格底部有一个名为“holder”的 div。 jQuery 插件自动遍历所有元素并创建页面,并将实际分页放置在 'holder' div 元素中。
现在,当用户单击屏幕上的特定复选框时,会进行 AJAX 调用以刷新搜索结果,并且该表会重新填充该 AJAX 调用的内容。这也可以正常工作 - 相同的代码如下 -
$(function() {
$('.dark-checkbox').click(function(e) {
var data = $('#search-form').serialize();
refreshSearchResults(data);
paginate();
e.preventDefault();
e.stopPropagation();
});
});
function refreshSearchResults(data) {
if (data.length==0) {
return;
}
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("search-results").innerHTML=xmlhttp.responseText;
}
};
xmlhttp.open("GET","candidate_search_results.php?"+data,true);
xmlhttp.send();
}
如您所见,我已尝试根据搜索结果刷新重新生成分页,这是点击处理程序中的最后一步。
分页重新生成,但只是一页 - 换句话说,插件似乎并没有真正正常工作并创建正确的分页流程。我也尝试在代码的其他部分中调用“重新分页”,但它似乎也不起作用。谁能帮我弄清楚我做错了什么?提前谢谢你...
【问题讨论】:
标签: jquery ajax pagination