使用过滤器小部件时,是否可以按类定位特定的tablesorter列?

问题描述 投票:2回答:1

我正在使用tablesorter.js的@Mottie分支

我在页面上有5-10个小表,并希望使用外部过滤器一次过滤所有这些表,但只能在一列上过滤。文档提到:

      // filters to exclude, per column
      filter_excludeFilter : {},

它需要从零开始的索引来选择要排除的列;但是,我选择的列#In不同。我希望只通过标题类来定位列,因为我可以为它应用一个类。相关代码:

HTML: <input type="search" class="search" placeholder="filter..." /></div>

js:
      var $table = $(".tablesorter").tablesorter({
      widgets: ["filter"],
      widgetOptions: {
          filter_external: '.search',
          filter_defaultFilter: { '.salesinitials': '~{q}', },
          filter_functions: { '.salesinitials': true },
          filter_columnFilters: false
      }
  });

  $("th > div.tablesorter-header-inner:contains('Sales Initials')")
   .parent().addClass("salesinitials");

是否有其他方法只针对一列进行过滤?

javascript jquery tablesorter
1个回答
1
投票

filter_excludeFilter option允许您使用jQuery选择器代替列索引。

但是,我认为您需要的解决方案是使用filter bindSearch function将所有表绑定到一个过滤器输入:

var $filter = $('.single-filter-input');
$('.all-tables').each(function(table) {
  // table - table DOM element (or jQuery object) of table.
  // $el - jQuery object of one or more input (search) elements to bind.
  // false - boolean flag to force a new search.
  $.tablesorter.filter.bindSearch(table, $filter, false);
});
© www.soinside.com 2019 - 2024. All rights reserved.