У меня есть DataTable (с использованием DataTables 1.10.12), в котором все столбцы содержат элементы формы. 3 столбца содержат поля выбора. При использовании поля глобального поиска оно работает должным образом для столбцов, содержащих элементы input
или textarea
, но столбцы, содержащие поля выбора, не фильтруются должным образом.
Например, учитывая приведенную ниже таблицу, если я ввожу в поле поиска значение internal, я ожидаю, что вторая строка будет отфильтрована, поскольку значение в столбце Scope не является внутренним.
Однако никакие строки не отфильтровываются. Я понимаю, что это потому, что td
на самом деле содержит слово internal в форме невыбранного параметра.
Для фильтрации этих столбцов я использую такие функции:
/* Create an array with the values of all the select options in a column */
$.fn.dataTable.ext.order['dom-select'] = function ( settings, col )
{
return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
return $('select', td).val();
} );
}
Как заставить глобальное поле поиска использовать ту же логику для поиска в столбцах, содержащих поля выбора?
Мне известно о возможности добавления полей поиска отдельных столбцов с пользовательской логикой с помощью API поиска, но мне нужно, чтобы это работало с глобальным поиском, а не с отдельными столбцами.