Можно ли нацелить конкретный столбец сортировщика таблиц по классу при использовании виджета фильтра? - PullRequest
0 голосов
/ 04 февраля 2019

Я использую ветку @Mottie tablesorter.js

У меня 5-10 небольших таблиц на странице, и я хотел бы использовать внешний фильтр для фильтрации всех сразу, но только наодин столбец.В документах упоминается:

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

Требуется индексирование с нуля для выбора столбцов для исключения;однако столбец №, который я выбираю, варьируется от таблицы к таблице.Я надеялся просто нацелить столбец на класс заголовка, потому что я могу применить к нему класс.Соответствующий код:

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

Есть ли какой-то другой способ нацеливания только на один столбец для фильтрации?

1 Ответ

0 голосов
/ 02 марта 2019

Опция filter_excludeFilter позволяет использовать селектор jQuery вместо индекса столбца.

Но я думаю, что решение, которое вам нужно, - это связать все таблицы содин вход фильтра с использованием функции фильтра bindSearch :

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