Исключить строки с определенным текстом в столбце при поиске в таблице данных ⇐ Jquery
-
Гость
Исключить строки с определенным текстом в столбце при поиске в таблице данных
У меня есть таблица, использующая библиотеку данных, я хочу исключить из результатов поиска все строки, содержащие определенное ключевое слово, например, офис, из таблицы данных в столбце 2.
Столбец A Столбец B Ячейка 1 Главная Ячейка 3 Офис
Я попробовал 2 метода, но оба не работают
Первый метод
var table = $('#myTable').DataTable({ dom: '', }); // Добавляем идентификатор в поле поиска // $('.search-box-wrapper input').attr('id', 'my-search-box'); // Перерисовываем таблицу при использовании поля поиска console.log($('#myTable_filter input')); $('#myTable_filter input').unbind().bind('keyup', function() { table.search(this.value).draw(); }); // Добавляем пользовательскую фильтрацию $.fn.dataTable.ext.search.push( функция (настройки, данные, dataIndex) { // Получаем данные для второго столбца (индекс 1) вар ColumnData = данные [1]; // Проверяем, содержат ли данные столбца текст out_of_Service if (columnData.indexOf('out_Of_Service') !== -1) { // Если да, исключим эту строку из результатов поиска вернуть ложь; } // В противном случае включить эту строку в результаты поиска вернуть истину; } ); 2-й метод
var exclusionKeyword = "out_Of_service"; таблица вар; $(документ).ready(функция() { // Инициализируем таблицу данных таблица = $('#myTable').DataTable({ "initComplete": функция (настройки, json) { // Пользовательская функция фильтрации $.fn.dataTable.ext.search.push(function(settings, data, dataIndex) { // Получаем содержимое второго столбца (индекс 1) вар columnsContent = данные [1]; // Предполагаем, что ключевое слово находится во втором столбце // Проверяем, введен ли пользователем поисковый запрос вар searchValue = table.search(); // Если поисковый запрос не указан, включите строку если (!searchValue) { вернуть истину; } // Проверяем, содержит ли содержимое столбца поисковый запрос if (columnContent.toLowerCase().includes(searchValue.toLowerCase()))) { // Исключаем строки, содержащие "out_Of_service" if (columnContent.toLowerCase().includes(exclusionKeyword.toLowerCase()))) { вернуть ложь; } вернуть истину; } // Включаем все остальные строки в результаты поиска вернуть истину; }); } }); }); Любая помощь будет высоко оценена.
У меня есть таблица, использующая библиотеку данных, я хочу исключить из результатов поиска все строки, содержащие определенное ключевое слово, например, офис, из таблицы данных в столбце 2.
Столбец A Столбец B Ячейка 1 Главная Ячейка 3 Офис
Я попробовал 2 метода, но оба не работают
Первый метод
var table = $('#myTable').DataTable({ dom: '', }); // Добавляем идентификатор в поле поиска // $('.search-box-wrapper input').attr('id', 'my-search-box'); // Перерисовываем таблицу при использовании поля поиска console.log($('#myTable_filter input')); $('#myTable_filter input').unbind().bind('keyup', function() { table.search(this.value).draw(); }); // Добавляем пользовательскую фильтрацию $.fn.dataTable.ext.search.push( функция (настройки, данные, dataIndex) { // Получаем данные для второго столбца (индекс 1) вар ColumnData = данные [1]; // Проверяем, содержат ли данные столбца текст out_of_Service if (columnData.indexOf('out_Of_Service') !== -1) { // Если да, исключим эту строку из результатов поиска вернуть ложь; } // В противном случае включить эту строку в результаты поиска вернуть истину; } ); 2-й метод
var exclusionKeyword = "out_Of_service"; таблица вар; $(документ).ready(функция() { // Инициализируем таблицу данных таблица = $('#myTable').DataTable({ "initComplete": функция (настройки, json) { // Пользовательская функция фильтрации $.fn.dataTable.ext.search.push(function(settings, data, dataIndex) { // Получаем содержимое второго столбца (индекс 1) вар columnsContent = данные [1]; // Предполагаем, что ключевое слово находится во втором столбце // Проверяем, введен ли пользователем поисковый запрос вар searchValue = table.search(); // Если поисковый запрос не указан, включите строку если (!searchValue) { вернуть истину; } // Проверяем, содержит ли содержимое столбца поисковый запрос if (columnContent.toLowerCase().includes(searchValue.toLowerCase()))) { // Исключаем строки, содержащие "out_Of_service" if (columnContent.toLowerCase().includes(exclusionKeyword.toLowerCase()))) { вернуть ложь; } вернуть истину; } // Включаем все остальные строки в результаты поиска вернуть истину; }); } }); }); Любая помощь будет высоко оценена.
Мобильная версия