web-dev-qa-db-fra.com

Comment obtenir de la valeur entrée dans le champ de recherche Dans Datatables

Comment faire pour que la valeur soit entrée dans le champ de recherche Dans Datatables . Est-il possible d'obtenir la valeur dans le champ de recherche dans les tableaux de données? 

13
jessi

Si vous voulez juste vérifier la valeur quand une recherche est effectuée [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 vous souhaitez vérifier la valeur avant la recherche et pouvoir annuler la recherche, vous devez dissocier l'événement de champ de recherche par défaut et créer le vôtre, comme ceci - rechercher uniquement lorsque l'utilisateur a saisi plus de 3 caractères:

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

démo -> http://jsfiddle.net/pb0632c3/

Pour réinitialiser complètement la recherche/le filtre, comme si l'utilisateur avait supprimé le terme de recherche:

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

Comme mentionné dans 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();
    });
4
Herbi Shtini

Essayez cette fonction pour détecter la pression sur une touche, puis dessinez le DataTablee.

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

0
Rock