【问题标题】:jquery TableSorter - How do I turn off filters dynamicallyjquery TableSorter - 如何动态关闭过滤器
【发布时间】:2017-09-18 14:43:01
【问题描述】:

我使用的是 TableSorter 版本 2.28.1。我开启了过滤器。

 widgets: ["zebra", "filter"]

我希望能够在显示表格之前在我的代码中关闭或打开过滤器。这基于来自上一页的参数。

我正在使用 C#,页面上的表格是一个 .net Gridview 控件。

有人有什么想法吗?

【问题讨论】:

    标签: jquery filter tablesorter


    【解决方案1】:

    结合使用 applyWidgetIdremoveWidget 方法来切换过滤器小部件 (demo):

    HTML

    <button type="button">Add Filter</button>
    <table class="tablesorter">...</table>
    

    脚本

    $(function() {
        var $table = $('table');
    
        $('button').click(function(){
        var btn = $(this),
            addWidget = /add/i.test(btn.text());
        if (addWidget) {
          btn.text('Remove Filter');
          $table.trigger('applyWidgetId', 'filter');
        } else {
          btn.text('Add Filter');
          $table.trigger('removeWidget', 'filter');
        }
        return false;
      });
    
      $table.tablesorter({
        theme: 'blue',
        widgets: ['zebra']
      });
    });
    

    【讨论】:

      【解决方案2】:

      感谢@Mottie。 “applyWidgetId”是我需要的。对我来说,这有点简单。我只需要能够在初始化时根据变量的值打开或关闭过滤器。所以这就是我所做的......

      widgets: ["zebra"],
      initialized: function (table) {                
          if ('<%= showFilter %>' == 'Y')
          {
              $(table).trigger('applyWidgetId', 'filter')
          }
      

      【讨论】:

      • 将其添加到widgets...widgets: ["zebra", ("&lt;%= showFilter %&gt;" === "Y" ? "filter": "")] 可能更容易
      • 谢谢@Mottie 这更容易了。
      猜你喜欢
      • 2012-09-10
      • 1970-01-01
      • 2012-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多