【发布时间】:2014-10-13 13:17:00
【问题描述】:
我昨天发现了 TableSorter,所以很明显我还不太了解它,但是通过使用几个演示和阅读文档,我可以在表格中设置一个工作排序,直到我发现 寻呼机小部件。
并不是说它不起作用,它只是没有像我期望的那样起作用。我的大部分实现都是基于作者提供的this demo。
我刚刚删除了 widthFixed 选项和斑马小部件(因为我没有看到它在起作用)并将我的四列中的两列定义为不可排序。我还稍微修改了寻呼机小部件的输出文本:
$( document ).ready( function() {
$( 'table' ).tablesorter({
theme: 'bootstrap',
headerTemplate: '{content}{icon}',
widgets: [ "uitheme" ],
headers: {
3:{sorter: false},
4:{sorter: false}
}
}).tablesorterPager({
container: $(".ts-pager"),
saveSort : false,
output: '{startRow} to {endRow} ({totalRows})'
});
});
此脚本作为外部文件位于 HTML 末尾,靠近 </body>。与 jQuery 插件的大多数用法不同,因为我使用的是所有页面共有的一个页脚文件(服务器端编程的一部分),而不是最后添加脚本,我在要排序的表之后添加了它们,按以下顺序:
<script src="/public/assets/projectfolder/js/jquery.tablesorter.min.js"></script>
<script src="/public/assets/projectfolder/js/jquery.tablesorter.widgets.min.js"></script>
<script src="/public/assets/projectfolder/js/jquery.tablesorter.pager.min.js"></script>
现在,我认为不起作用的事情,但可能是我的愚蠢。
- 刷新后会记住分页器选项
在找到选项 saveSort 并在 tableSortPager 选项中将其设置为 false 之前,我认为这是一个错误。然而,这并没有像我预期的那样工作,我在页面大小下拉列表中选择的内容在刷新后被保留,就像没有设置该选项一样。
- 初始可见行数并非每次都有效
我第一次添加 Pager 小部件时,它起作用了。但是因为默认的内存行为是记住排序选择,所以之后的每个新请求都不再起作用了。可见行的初始数量始终是在页面大小下拉列表中选择的。
确实如此,如果我选择另一个值,数字会按预期更改,并且在刷新后,我之前选择的数量就是显示的那个。
阅读文档我看到了 size 选项。我用一个很小的数字定义它(因为我仍在构建 GUI 并且我没有真实数据)但是,再次显示的行数是记住的。
清理浏览器缓存使此属性按预期工作,直到选择新的页面大小值,即使 saveSort 定义为 false,也会再次被记住。
我该如何解决这些问题?
【问题讨论】:
标签: jquery tablesorter