使用AJAX的JQuery表分类器分页器 - 排序不正常

时间:2012-12-12 14:01:24

标签: tablesorter

我的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"
    }]
}

此致

1 个答案:

答案 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)