J'utilise le plugin jquery D ataTables pour construire une belle table
var table = $('#example').DataTable({
"data": source
});
Je voudrais que cela fasse un chacun pour toutes les lignes du tableau
Malheureusement, cette méthode peut être obsolète et ne fonctionne pas avec la nouvelle version (elle lance une erreur)
$(table.fnGetNodes()).each(function () {
});
Et cette méthode ne fonctionne que pour les lignes visibles (10 premières lignes car les autres lignes sont paginées)
table.each( function ( value, index ) {
console.log( 'Data in index: '+index+' is: '+value );
} );
Savez-vous comment boucler sur toutes les lignes s'il vous plaît?
J'ai finalement trouvé:
var data = table.rows().data();
data.each(function (value, index) {
console.log(`For index ${index}, data value is ${value}`);
});
Si vous utilisez les DataTables hérités, vous pouvez obtenir toutes les lignes même celles paginées, comme indiqué ci-dessous ...
table.fnGetNodes(); // table is the datatables object.
Nous pouvons donc parcourir les lignes en utilisant la méthode .each()
fournie par jQuery
.
jQuery(table.fnGetNodes()).each(function () {
// You can use `jQuery(this).` to access each row, and process it further.
});
Les tables de données ont un itérateur pour chaque ligne rows (). Every () avec this
faisant référence au contexte de la ligne en cours d'itération.
tableName.rows().every(function(){
console.log(this.data());
});