Инициализировать поиск в jQuery Datatables
Я пытаюсь инициализировать Datatable значением поиска по умолчанию, которое пользователь может либо заменить, либо уточнить. Это с данными на стороне сервера. Я ничего не читал, где вы можете сделать это в документации Datatables.
$('#example_filter label input[type=text]').val('Default Product')
Приведенное выше значение устанавливает значение, но поскольку нажатие клавиши не задействовано, обработчик событий не принимает его. Есть ли метод, который я могу связать с вышеприведенным, который будет действовать как ключ ввода, или я должен написать обработчик событий, который ищет изменения в поле. Я новичок в datatables и новичке jQuery.
Ответы
Ответ 1
Итак, правильный способ сделать это - использовать параметр oSearch.
https://datatables.net/docs/DataTables/1.9.0/DataTable.defaults.oSearch.html
$(document).ready( function() {
$('#example').dataTable( {
"oSearch": {"sSearch": "Initial search"}
} );
} )
Ответ 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 }));