jquery TableSorter - 如何动态关闭过滤器

时间:2017-09-18 14:43:01

标签: jquery filter tablesorter

我正在使用TableSorter版本2.28.1。我打开过滤器。

 widgets: ["zebra", "filter"]

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

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

有人有什么想法吗?

2 个答案:

答案 0 :(得分:2)

使用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']
  });
});

答案 1 :(得分:0)

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

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