Как получить точное значение из ввода в JQuery - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь отфильтровать загрузочный файл dataTable с помощью jquery.Я закончил с этим.но проблема в том, что когда я выбираю Male, это также дает результаты female.jquery не улавливает точное слово, называемое Male.

Вот мой код jquery и результат

$(document).ready(function() {
    var table =  $('#example1').DataTable();

    $('#gender').on('change', function () {
      table.columns(1).search( this.value ).draw();
    });
 });

. Это мое мнение, когда я выбираю Female. Выбор женщины

Это мой взгляд, когда я выбираю Male Выбор мужчины

Так, как я получаю результат только мужчина, когда я выбираю мужчину.

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Оба значения пола мужчина / женщина имеют слово «мужской», поэтому поиск выполняется в обоих случаях.Вы можете использовать '\\b'+'this.value'+'\\b' регулярное выражение для точного поиска слова.Проверьте о /b здесь .

 $('#gender').on('change', function () {
      table.columns(1).search( '\\b'+'this.value'+'\\b' ).draw();
    });

Надеюсь, это поможет.

0 голосов
/ 25 февраля 2019

Ну, вы можете использовать второй параметр функции search , чтобы указать, что ваш запрос является регулярным выражением.Затем вам также нужно будет указать, что вы не хотите использовать функцию интеллектуального поиска, которая является третьим параметром

const regExSearch = '^' + this.value + '$';
table.columns(1).search(regExSearch, true, false).draw();

, включая пробелы до и после ввода, поэтому вам могут не понадобиться эти.

Пример кода, который я предоставил, на самом деле является просто кодом, найденным в документации

...