Jquery TableSorter初始可见行数问题

Jquery TableSorter初始可见行数问题,jquery,tablesorter,Jquery,Tablesorter,我昨天发现了TableSorter,显然我还不太了解它,但通过几个演示和阅读文档,我可以在表中设置一个工作排序,直到我发现了寻呼机小部件 这并不是说它不起作用,它只是没有像我期望的那样起作用。我的大部分实现都基于作者提供的 我刚刚删除了widthFixed选项和zebra小部件(因为我没有看到它在运行),并将四列中的两列定义为不可排序。我还稍微修改了寻呼机小部件的输出文本: $( document ).ready( function() { $( 'table' ).tablesort

我昨天发现了TableSorter,显然我还不太了解它,但通过几个演示和阅读文档,我可以在表中设置一个工作排序,直到我发现了寻呼机小部件

这并不是说它不起作用,它只是没有像我期望的那样起作用。我的大部分实现都基于作者提供的

我刚刚删除了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的末尾,靠近
。与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之前,我一直认为这是一个bug。然而,这并没有像我预期的那样起作用,我在页面大小下拉列表中选择的内容在刷新后被保留,就像没有设置该选项一样

  • 初始可见行数并非每次都有效
我第一次添加寻呼机小部件时,它就工作了。但是由于默认的内存行为是记住排序选择,因此之后的每个新请求都不再有效。初始可见行数始终是在“页面大小”下拉列表中选择的行数

这是如此真实,如果我选择了另一个值,则数字将按预期更改,刷新后,我之前选择的金额将显示出来

阅读文档时,我看到了大小选项。我用一个较低的数字来定义它(因为我还在构建GUI,并且我没有真实的数据),但是,同样,显示的行数是记忆的行数

清除浏览器缓存会使此属性按预期工作,直到为页面大小选择了新值,并且即使将保存排序定义为false,也会被再次存储


如何解决这些问题?

您要使用的选项是

实际与saveSort小部件配合使用,该选项属于widgetOptions:

$(function(){
  $("table").tablesorter({
    widgets: ["saveSort"],
    widgetOptions : {
      // if false, the sort will not be saved for next page reload
      saveSort : false
    }
  });
});

谢谢Mottie,对于savePages:false选项,当我设置下面的选项并发现它不起作用时,我正在寻找它。(摘自)//可见行数-默认为10行大小:10,@AKS对我来说很好,可以修改以复制该问题。@Mottie,很抱歉不太清楚。我在github上读到了你的文章,我的假设是我只需要选项大小:6,符合我的要求,但这不起作用。在阅读了您的答案之后(上面),我添加了选项savePages:false,之后大小:6开始工作。我不确定什么存储页与显示表中的行数有关。对保存页的解释给我的印象是,如果需要,某些类型的保存(我仅显示)可能用于会话等,需要此选项。什么是存储页:true或不为存储页提供选项?@AKS它似乎不起作用的原因是,用户设置存储在本地存储中的
savePages
size会覆盖
size
选项设置。您可以通过使用
pageSize
选择器设置页面大小或使用以下代码清除存储值来更新存储值:
$.tablesorter.storage($('table'),'tablesorter pager',''()非常感谢莫蒂,我错过的关键是“存储在本地存储中的存储页大小覆盖大小选项设置”。现在我明白了。
$(function(){
  $("table").tablesorter({
    widgets: ["saveSort"],
    widgetOptions : {
      // if false, the sort will not be saved for next page reload
      saveSort : false
    }
  });
});