Come ottenere il valore immesso nella casella di ricerca In Datatables. C'è un modo per inserire il valore nella casella di ricerca in Tabelle dati?Come ottenere il valore immesso nella casella di ricerca In Datatables
risposta
Se si desidera solo per controllare il valore quando viene eseguita una ricerca [DataTable 1.10.x]:
var table = $('#example').DataTable();
$('#example').on('search.dt', function() {
var value = $('.dataTables_filter input').val();
console.log(value); // <-- the value
});
se si desidera controllare il valore prima della ricerca, ed essere in grado di annullare il ricerca, è necessario separare l'evento di default di Ricerca e creare il proprio, in questo modo - cercare solo quando l'utente ha immesso più di 3 caratteri:
$('.dataTables_filter input').unbind().keyup(function() {
var value = $(this).val();
if (value.length>3) {
table.search(value).draw();
}
});
demo ->http://jsfiddle.net/pb0632c3/
Per azzerare la ricerca/filtro completamente, come se l'utente ha cancellato il termine di ricerca:
if (value.length==0) table.search('').draw();
'table.column(). Search (value) .draw();' non dovrebbe essere 'table.search (value) .draw();'? –
@ MárcioSouzaJúnior, hai ragione. Grazie! Hanno cambiato il testo e il violino. Strano che avevo usato 'column()' nell'esempio. – davidkonrad
@davidkonrad prova 'dataTable.search()'. Non sono sicuro che sia documentato – peter
Come accennato in 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();
});
Sì. C'è. Basta chiamare il metodo di ricerca senza un parametro.
var query = dataTable.search()
PS: Per favore non mi chiedere se questo è documentato o meno. Ho appena provato e ho ottenuto un valore
È [questo] (http://datatables.net/reference/option/searching) che cosa stai chiedendo? Si prega di essere più specifici. –
Grazie per la vostra risposta. Sto usando la funzione di ricerca e voglio ottenere il testo esatto inserito nella casella di ricerca della tabella dati, ho il requisito di inviare una richiesta lato server quando il testo nella casella di ricerca è deselezionata. Sto cercando un modo per ottenere il testo inserito e controllare se la lunghezza è zero e inviare richiesta lato server. Spero di essere chiaro. – jessi
Penso che potresti voler aggiungere 'jQuery' alla tua lista di tag per attirare una folla più grande. –