web-dev-qa-db-fra.com

Comment faire pour filtrer l'ensemble de résultats de données de jQuery Datatable

Ce serait génial si quelqu'un m'aidait sur le sujet. 

J'essaie simplement d'obtenir le résultat filtré du Datatable. 

Ci-dessous mon code.

var filtered_row_data = $('#example').DataTable().column(1).search('186').data().unique().sort();

 console.log(JSON.stringify(filtered_row_data));

Il retourne simplement toutes les lignes au lieu de valeurs filtrées.

J'utilise la dernière version stable de Datatable.

Quelqu'un peut-il s'il vous plaît aider sur ce point?

13
Raja

voir dataTables sélecteur-modificateurs . Vous recherchez {filter : 'applied'}:

table.on('search.dt', function() {
    //number of filtered rows
    console.log(table.rows( { filter : 'applied'} ).nodes().length);
    //filtered rows data as arrays
    console.log(table.rows( { filter : 'applied'} ).data());                                  
})  

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

36
davidkonrad

si vous utilisez le filtrage/la recherche côté serveur, c'est la seule solution que j'ai trouvée et qui fonctionne: xhr event

$('#yourTable').on('xhr.dt', function ( e, settings, json, xhr ) {
        //the new data is here json.data
        console.log(json.data);
});
0
Adel Mourad