昨天我发现了 TableSorter ,所以很明显我还不太了解它,但是,使用几个演示并阅读文档,我可以在表中设置一个工作排序,直到我发现< strong>寻呼机小工具。
并不是它不起作用,它只是不起作用,因为我期望它工作。我的大多数实现都基于作者提供的this demo。
我刚刚删除了 widthFixed 选项和zebra小部件(因为我没有看到它在运行中)并定义了我的四个列中的两个不可排序。我还略微修改了寻呼机小部件的输出文本:
$( 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>
现在,我认为那些不起作用的东西,但可能是我的愚蠢,是。
我认为这是一个bug,直到找到saveSort选项并在tableSortPager选项中将其设置为false。然而,这并没有像我期望的那样起作用,我在页面大小下拉列表中选择的内容在刷新后保留,就像没有设置该选项一样。
我第一次添加寻呼机小部件时,它起作用了。但是因为默认的内存行为是要记住排序选项,之后的每个新请求都不再起作用。可见行的初始数量始终是在页面大小下拉列表中选择的行。
这是真的,如果我选择另一个值,则数字会按预期更改,并且在刷新之后,我之前选择的数量是显示的数量。
阅读文档后,我看到了 size 选项。我用较低的数字定义它(因为我还在构建GUI而我没有实际数据)但是,显示的行数也是记忆的行数。
清理浏览器缓存会使此属性按预期工作,直到选择新的页面大小值,即使 saveSort 定义为 false ,也要再次记忆。< / p>
我怎样才能解决这些问题?
答案 0 :(得分:3)
您要使用的选项是pager savePages
option。
$(function(){
$( 'table' ).tablesorter({
theme: 'bootstrap',
headerTemplate: '{content}{icon}',
widgets: [ "uitheme" ],
headers: {
3:{sorter: false},
4:{sorter: false}
}
})
.tablesorterPager({
container: $(".ts-pager"),
savePages : false,
output: '{startRow} to {endRow} ({totalRows})'
});
});
saveSort
widget option实际上与saveSort小部件一起使用,该选项属于widgetOptions:
$(function(){
$("table").tablesorter({
widgets: ["saveSort"],
widgetOptions : {
// if false, the sort will not be saved for next page reload
saveSort : false
}
});
});