Как получить значение, введенное в поле поиска в Datatables
Как получить значение, введенное в поле поиска в Datatables. Есть ли способ получить значение, введенное в поле поиска в таблицах данных?
4 ответов
Если вы просто хотите проверить значение при выполнении поиска [dataTables 1.10.x] :
var table = $('#example').DataTable();
$('#example').on('search.dt', function() {
var value = $('.dataTables_filter input').val();
console.log(value); // <-- the value
});
Если вы хотите проверить значение перед поиском и иметь возможность отменить поиск, вы должны отменить событие searchbox по умолчанию и создать свой собственный, как это - поиск только тогда, когда пользователь ввел более 3 символов:
$('.dataTables_filter input').unbind().keyup(function() {
var value = $(this).val();
if (value.length>3) {
table.search(value).draw();
}
});
демо -> http://jsfiddle.net/pb0632c3/
для сброса поиска / фильтр полностью, например, если пользователь удалил поисковый запрос:
if (value.length==0) table.search('').draw();
Как говорится в 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();
});
попробуйте эту функцию для обнаружения нажатия клавиши, а затем нарисуйте DataTablee.
$('#search').on('keyup change', function () {
var table = $('#example').DataTable();
table.api().search($(this).val()).draw();
});