webentwicklung-frage-antwort-db.com.de

Wie wird der Wert in das Suchfeld in Datatables eingegeben?

Wie kann man einen Wert in das Suchfeld in Datatables eingeben? 

13
jessi

Wenn Sie nur den Wert überprüfen möchten, wenn eine Suche durchgeführt wird [dataTables 1.10.x]:

var table = $('#example').DataTable();

$('#example').on('search.dt', function() {
    var value = $('.dataTables_filter input').val();
    console.log(value); // <-- the value
}); 

wenn Sie den Wert vor der Suche überprüfen möchten und die Suche abbrechen können, müssen Sie das Standard-Suchfeldereignis aufheben und ein eigenes Ereignis erstellen. So können Sie suchen, wenn der Benutzer mehr als drei Zeichen eingegeben hat:

$('.dataTables_filter input').unbind().keyup(function() {
    var value = $(this).val();
    if (value.length>3) {
        table.search(value).draw();
    } 
});

demo -> http://jsfiddle.net/pb0632c3/

Um die Suche/den Filter vollständig zurückzusetzen, z. B. wenn der Benutzer den Suchbegriff gelöscht hat:

if (value.length==0) table.search('').draw();
25
davidkonrad

Ja. Es gibt. Rufen Sie einfach die Suchmethode ohne Parameter auf.

var query = dataTable.search()

7
peter

Wie in dataTable api erwähnt

    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();
    });
4
Herbi Shtini

sie können so etwas tun. Funktioniert für alle datierbaren Versionen. Wir verfolgen hier das Such-Eingabefeld und erhalten dann dessen Wert. Es ist nicht erforderlich, datierbare APIs mit dieser Methode zu verwenden

$('input[type="search"]').on( 'keyup', function () {
            console.log($(this).val());
} );
0
Jasbin Karki

Probieren Sie diese Funktion aus, um den Tastendruck zu erkennen und zeichnen Sie dann das DataTablee.

$('#search').on('keyup change', function () {
    var table = $('#example').DataTable();
    table.api().search($(this).val()).draw();
});

0
Rock