фильтровать таблицы данных с одинаковым префиксом, но с разным суффиксом в числах - PullRequest
0 голосов
/ 15 января 2020

Я использую dataTables для списка учеников. Одна из моих таблиц выглядит так:

Имя студента || Название класса

Виктория Сэй || Оценка 1
Филипп Хей || Оценка 1
Стивен Чу || Сорт 3
Marian Boot || 2 класс
Мэри Храбрый || 3 класс
Бетти Нэнси || Форма 1
Брайт Хэнсон || Форма 3

Если я введу «Оценка 3» в поле поиска,
вместо возврата, [Стивен Чу и Мэри Брэйв],
таблица вернет все пять членов, чей класс Имя содержит слово [Grade].
Как бы я мог вернуть только учеников [3 класс], используя окно поиска.
Заранее спасибо.

1 Ответ

0 голосов
/ 17 января 2020

Сначала вам нужно отключить обработчик поиска по умолчанию и прикрепить свой собственный. Затем внутри вашей функции поиска вам нужно использовать search () и установить регулярное выражение true, а интеллектуальный поиск - false, чтобы он возвращал только точные совпадения.

$('.dataTables_filter input', dt.table().container())
    .off('.DT')
    .on('keyup.DT cut.DT paste.DT input.DT search.DT', function(e) {
        table.search(`^${this.value}$`, true, false).draw();
    }

Где table - это JQuery ссылка на вашу таблицу данных. Например,

const table = $('#tableId').DataTable();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...