使用过滤器小部件时,是否可以通过 class 定位特定的表格排序器列?

Is it possible to target a specific tablesorter column by class when using the filter widget?

我正在使用 tablesorter.js

的 @Mottie 分支

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

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

需要 zero-based 索引到 select 列才能排除;但是,# I am selecting 列从 table 到 table 不等。我希望仅通过 header class 定位一个列,因为我可以对其应用 class。相关代码:

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");

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

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);
});