【问题标题】:Tablesorter widgets break the paginationTablesorter 小部件打破了分页
【发布时间】:2015-10-20 20:42:23
【问题描述】:

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

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

http://latoclient.it/file1.html

http://latoclient.it/file2.html

这两个文件是相同的:唯一的区别是在 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 似乎缓存了之前选择的值。就我的目的而言,这是一种不可接受的行为。

你能帮我解决这个问题吗?

非常感谢。

【问题讨论】:

    标签: javascript jquery tablesorter


    【解决方案1】:

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

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

    如果您不希望页面“记住”用户上次设置的页面大小,则将该选项设置为 false:

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

    【讨论】:

    • 非常感谢您的回复:它解决了我的问题。我在 widgetOptions 中寻找一些选项,但解决方案是 tablesorterPager 中的一个选项:我的错,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 2020-08-30
    • 2019-06-04
    相关资源
    最近更新 更多