Solución:
Si solo desea verificar el valor cuando se realiza una búsqueda [dataTables 1.10.x] :
var table = $('#example').DataTable();
$('#example').on('search.dt', function() {
var value = $('.dataTables_filter input').val();
console.log(value); // <-- the value
});
Si desea verificar el valor antes de la búsqueda y poder cancelar la búsqueda, debe desvincular el evento del cuadro de búsqueda predeterminado y crear el suyo propio, así: busque solo cuando el usuario haya ingresado más de 3 caracteres:
$('.dataTables_filter input').unbind().keyup(function() {
var value = $(this).val();
if (value.length>3) {
table.search(value).draw();
}
});
demo -> http://jsfiddle.net/pb0632c3/
Para restablecer la búsqueda / filtro por completo, como si el usuario hubiera eliminado el término de búsqueda:
if (value.length==0) table.search('').draw();
Sí hay. Llamas al método de búsqueda sin un argumento para obtener el término de búsqueda
var query = dataTable.search()
https://datatables.net/reference/api/search ()
Obtenga la búsqueda global aplicada actualmente. Si hay más de una tabla en el contexto de la API, se devolverá el término de búsqueda de la primera tabla. Utilice table () si necesita el término de búsqueda de una tabla diferente en el contexto de la API.
Como se menciona en la API de dataTable
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();
});