【问题标题】:FilteredPages in tablesorter with server-side filtering带有服务器端过滤的表排序器中的 FilteredPages
【发布时间】:2013-11-08 07:44:42
【问题描述】:

我不确定在使用服务器端过滤时如何更新 tablesorter 中的 filteredPages 值。

我使用的是 2.13.2 版本,并且能够创建自定义 output,然后可以在 p.ajaxData 中访问它,以便寻呼机显示正确数量的项目,等等(例如,“1 到 10 of 30 (总共 40 个)”。但我不知道如何更改 select.gotoPage 处的页面下拉列表以反映过滤页面数量的减少。我也尝试了寻呼机小部件 tablesorterPager

例如,假设下拉菜单通常允许您选择第 1 到第 4 页。现在您过滤并且过滤后的项目适合 3 页 - 下拉菜单如何减少到仅显示 3 页作为选项?

【问题讨论】:

    标签: ajax filtering server-side tablesorter


    【解决方案1】:

    每次更改页面或过滤表格内容时,分页器选择下拉菜单都会重新计算存在的页面数(当行是过滤器时)。

    在这种情况下,filteredPages 应该是您的服务器提供给插件的信息,因为在使用 ajax 时,分页器会自动默认为服务器端排序和过滤。确保更新寻呼机的ajaxUrl option 以包含过滤器和排序参数。例如:

    $(function(){
      $("table")
        .tablesorter()
        .tablesorterPager({
          ajaxUrl: "http://mydatabase.com?page={page}&size={size}&{sortList:col}&{filterList:fcol}",
          ajaxProcessing: function(ajax){
            // do something with the ajax
            return [ formatted_data, total_rows ];
          }
        });
      });
    });
    

    【讨论】:

    • 服务器正在返回 filteredPages(实际上,它正在返回计算 filteredPages 所需的信息),但我不确定在 ajaxProcessing 中如何处理它来更改下拉列表自动地。目前我将信息放在table.config.pager.ajaxData 中,然后在pagerComplete 上使用.bind 并简单地重建下拉菜单。这可行,但我认为我可能过于复杂了。
    • 如果您可以分享一个演示或您用于更新表格的代码,将会有所帮助。您不需要重建下拉菜单。
    • 该表需要管理员访问权限,因此我设置了一个测试演示,并向您发送了一封电子邮件(来自我在我的 stackoverflow 配置文件中的地址),其中包含访问它的信息。感谢您的观看!
    猜你喜欢
    • 2013-06-28
    • 2015-03-05
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 2011-11-05
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多