Инициализировать поиск в jQuery Datatables

Я пытаюсь инициализировать Datatable значением поиска по умолчанию, которое пользователь может либо заменить, либо уточнить. Это с данными на стороне сервера. Я ничего не читал, где вы можете сделать это в документации Datatables.

$('#example_filter label input[type=text]').val('Default Product')

Приведенное выше значение устанавливает значение, но поскольку нажатие клавиши не задействовано, обработчик событий не принимает его. Есть ли метод, который я могу связать с вышеприведенным, который будет действовать как ключ ввода, или я должен написать обработчик событий, который ищет изменения в поле. Я новичок в datatables и новичке jQuery.

Ответ 2

Вы можете инициировать событие вручную с помощью .trigger():

$('#example_filter label input[type=text]')
    .val('Default Product')
    .trigger($.Event("keypress", { keyCode: 13 }));

В зависимости от вашего кода вам может понадобиться "keyup".

Ответ 3

Правильный способ:

var table = $( '#mytable' ).DataTable();
table.search( 'initial search value' ).draw();

Ответ 4

Ответы, относящиеся к oSearch, используют устаревший синтаксис. Как и в DataTables 1.10+, правильный синтаксис:

$(document).ready( function() {
  $('#example').dataTable( {
    "search": {"search": "Initial search"}
  });
});

Ответ 5

Вы можете изменить настройки по умолчанию:

var my_config = {
            oLanguage: {
                sSearch: ""
            },
            oSearch: {
                sSearch: "Default Search value"
            }
        };
$('#search').dataTable(my_config);

Ответ 6

$('#example_filter label input[type=search]').val(i).trigger($.Event("keyup", { keyCode: 13 }));