我的JQuery表分拣机分页器插件有问题。 我试图使用AJAX调用分页。对于大多数情况来说似乎工作正常,但我无法使排序工作。
问题在于,当发出请求时,它总是看起来像(假设示例here中的代码):
http:/mydatabase.com?page=0&size=100&{sortList:col}
就像最后一个参数{sortList:col}
永远不会被正确的排序列替换。
如果我正确地阅读了这个例子,sortList = [[2,0],[3,0]]
的请求实际上应该是这样的:
http:/mydatabase.com?page=0&size=100&col[2]=0&col[3]=0
但就我而言,它永远不会。此外,当我点击标题时,执行排序,但没有请求。
链接示例中是否有任何遗漏?
修改
我的问题的第一部分已经通过用最新版本替换插件来解决。
对于第二部分,我在点击(排序)列时仍然无法获得请求。 ajaxProcessing函数与示例here中的函数几乎完全相同,只重命名了headers变量。
由于Mottie sugested我发布了一个来自AJAX调用的示例结果(MS MVC JsonResult):
{
"total_rows":1,
"headers":["Id.","Date","User name","File name","status","Hash","Link"],
"rows":[
{
"Id":"21",
"ReceiveDate":"02.12.2012",
"UserName":"John Doe",
"FileName":"test.txt",
"Status":"",
"Hash":"4A71FD2E12F7E04ED0C04E17476BD1BC5F823C8F",
"FileNameLink":"\u003ca style=\"padding-left:10px\" href=\"GetFile?Id=21&fileName=test.txt\"\u003eSave\u003c/a\u003e"
}]
}
此致
答案 0 :(得分:1)
我道歉,但我没有机会彻底测试寻呼机的最新变化。有些代码是由其他人编写的,所以我可能错过了一些明显的东西。
无论如何,这可能是导致您出现问题的错误。它会在每次排序后将表重置为第一页...我将在下次更新时修复。
在寻呼机插件中,第460-470行是此代码:
.bind('filterEnd.pager sortEnd.pager', function() {
//Prevent infinite event loops from occuring by setting this in all moveToPage calls and catching it here.
if ($.data(table, 'pagerUpdateTriggered')) {
$.data(table, 'pagerUpdateTriggered', false);
return;
}
c.page = 0;
updatePageDisplay(table, c);
moveToPage(table, c);
changeHeight(table, c);
})
只需将c.page = 0
更改为此:
if (e.type === 'filterEnd') { c.page = 0; }
并向e
添加function(e)
。