1

我对 JQuery 表排序器寻呼机插件有疑问。我正在尝试通过 AJAX 调用使用分页。在大多数情况下,它似乎工作正常,但我无法让排序工作。

问题是,当发出请求时,它总是看起来像(假设这里的示例代码):

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 函数与此处的示例几乎完全相同,只是重命名了 headers 变量。

正如 Mottie 所建议的,我正在发布 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"
    }]
}

问候

4

1 回答 1

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; }

efunction(e).

于 2012-12-23T05:53:08.223 回答