排序后TableSorterPager计数器重置

时间:2014-01-21 11:18:13

标签: jquery tablesorter

我对大多数数据使用tablesorter。它运行良好,但我使用tablesorterPager插件获得了一个奇怪的行为。

当创建表并调用tablesorter时,寻呼机显示正确的信息,我可以浏览不同的页面。
但是,当我使用排序功能时(在使用分拣机:-)时很有用),寻呼机告诉我只有一个页面,而且我无法看到其他页面。

这是我使用的JS代码。我与官方文档以及我在网络上发现的几乎所有内容进行了比较,但我无法真正看到可以解释这种行为的差异。

$("#tlisting").tablesorter({

        headers: {
            2: {sorter: 'nom'},
            3: {sorter: 'date'},
            0: {sorter: false},
            6: {sorter: false},
            7: {sorter: false}
        }, debug: true 
    }).tablesorterPager({container: $("#pager")});

    var sorting = [[3, 1]];
    if ($("#tlisting tbody tr.ni_tr").length > 0) {
        $("#tlisting").trigger("sorton", [sorting]);
    }

    $("#tlisting").trigger("update").trigger("appendCache").trigger("applyWidgets");

这是调试输出:

Building cache for 20 rows:,1ms
Evaling expression:var sortWrapper = function(a,b) {var e0 = (a[2] == b[2] ? 0 : (a[2] === null ? Number.POSITIVE_INFINITY : (b[2] === null ? Number.NEGATIVE_INFINITY : (a[2] < b[2]) ? -1 : 1 )));if(e0) { return e0; } else { return a[8]-b[8];}; return 0; }; ,0ms 
Sorting on 2,0 and dir 0 time:,1ms
Rebuilt table:,2ms 

提前感谢您的任何线索。

1 个答案:

答案 0 :(得分:0)

我猜你正在使用原始的tablesorter(http://tablesorter.com)。请勿在{{1​​}}之后触发appendCache,尤其是使用寻呼机插件。

update方法将所有表行添加回表中。因此,例如,如果要向表中添加一行或多行,并且已初始化寻呼机,则执行以下操作:

appendCache

我建议您查看我的fork of tablesorter(不要忘记更新寻呼机)。您不应该对初始化代码进行任何更改。如果您需要在表格中添加一行或多行,则可以使用addRows method

$('table')
    .trigger('appendCache')
    .append( $myNewRows )
    .trigger('update')
    .trigger('sorton', [sorting]);