Как получить значение, введенное в поле поиска В Datatables

Как получить значение, введенное в поле поиска В Datatables. Есть ли способ получить значение, введенное в поле поиска в таблицах данных?

Ответ 1

Если вы просто хотите проверить значение при выполнении поиска [dataTables 1.10.x]:

var table = $('#example').DataTable();

$('#example').on('search.dt', function() {
    var value = $('.dataTables_filter input').val();
    console.log(value); // <-- the value
}); 

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

$('.dataTables_filter input').unbind().keyup(function() {
    var value = $(this).val();
    if (value.length>3) {
        table.search(value).draw();
    } 
});

demo → http://jsfiddle.net/pb0632c3/

В reset поиск/фильтр полностью, например, если пользователь удалил поисковый запрос:

if (value.length==0) table.search('').draw();

Ответ 2

Да, есть. Просто вызовите метод поиска без параметра, чтобы получить критерий поиска

var query = dataTable.search()

Ответ 3

Как указано в dataTable api

    var table = $('.datatable').DataTable();


     $('.datatable').on('search.dt', function (e, settings) {
       table.search( this.value ).draw();
    })

    //or custom input
    // #myInput is a <input type="text" id="myInput"> element
    $('#myInput').on( 'keyup', function () {
        table.search( this.value ).draw();
    });

Ответ 4

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

$('#search').on('keyup change', function () {
    var table = $('#example').DataTable();
    table.api().search($(this).val()).draw();
});

Ответ 5

Вы можете сделать что-то вроде этого работает для всех версий данных здесь мы отслеживаем поле ввода поиска и получаем только его значение нет необходимости использовать датируемый API, используя этот метод

$('input[type="search"]').on( 'keyup', function () {
            console.log($(this).val());
} );