Tablesorter小工具打破了分页

时间:2015-10-20 20:42:23

标签: javascript jquery tablesorter

使用没有小部件的tablesorter,我可以在tablesorterPager中设置size属性并且它运行良好:我可以使用带有多个值的下拉列表动态更改表大小,但是如果我刷新页面,它会正确显示数字使用size属性设置的行数。但是如果我使用小部件,这种行为会改变:如果我动态选择不同的页面大小,刷新页面则不会显示默认的行数。这恰好包括jquery.tablesorter.widgets.js文件,而没有真正使用任何小部件。

以下是显示行为的2个链接:

http://latoclient.it/file1.html

http://latoclient.it/file2.html

2个文件是相同的:唯一的区别是在file2.html中我还包含了jquery.tablesorter.widgets.js文件。 我正在使用TableSorter(FORK)2.18.4,寻呼机插件v2.21.0和tableSorter 2.16+小部件 - 更新于2014年5月28日(v2.17.1),但我也试过不同的版本,结果是一样的

javascript如下:

<script type="text/javascript">
$(function() {
    $("table")
        .tablesorter().tablesorterPager({
            container: $("#pager"),
            size:5
    });
});
</script>

所以我真的不使用小部件,但它只是包含引发了问题。

如果在表格下方的下拉列表中选择不同于5的值并使用F5刷新页面,则file1.html会正确显示5行,file2.html似乎会缓存以前选择的值。这对我来说是不可接受的行为。

请帮我解决这个问题吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

您看到的问题是因为默认情况下寻呼机savePages option设置为true

为了使该选项按预期工作,您需要包含jquery.tablesorter.widgets.js文件中包含的存储窗口小部件。如果没有存储小部件,寻呼机将无法将最后一个用户集页面保存到本地存储和/或cookie中,具体取决于浏览器支持。

如果您不希望页面“记住”上一个用户设置页面大小,请将该选项设置为false

$(function() {
    $("table")
        .tablesorter().tablesorterPager({
            container: $("#pager"),
            savePages: false,
            size:5
    });
});