2015-03-16 9 views
7

ich jQuery-Plugin D ataTables bin mit für schönen Tisch BauWie durchlaufen Sie alle Zeilen in DataTables jQuery?

var table = $('#example').DataTable({ 
    "data": source 
}); 

Ich möchte, dass ein jeder für alle Zeilen in der Tabelle

Leider ist diese Art und Weise veraltet und does't kann machen sein mit der neuen Version arbeiten (es launchs einen Fehler)

$(table.fnGetNodes()).each(function() { 

}); 

Und so funktioniert nur nur für visibles Reihen (10 ersten Reihen, weil andere Reihen paginierte sind)

table.each(function (value, index) { 
    console.log('Data in index: '+index+' is: '+value); 
}); 

Wissen Sie, wie Sie in alle Zeilen Schleifen?

+0

was meinst du? Möchten Sie alle Zeilen anzeigen? Wenn ja, dann können Sie das versuchen: 'var table = $ ('# example'). DataTable ({ " paging ": false });' –

+0

Danke für die Antwort, nein, ich möchte nicht alle anzeigen Zeilen, ich möchte alle Zeilen im Code dynamisch Schleife, auch Zeilen, die paginiert werden –

+0

vielleicht können Sie nur die Daten verwendet .. Ich meine Ihre Quelle von Daten, die Sie in der DataTable ausfüllen .. Ich bin mir nicht sicher .. –

Antwort

14

i schließlich gefunden:

var data = table.rows().data(); 
data.each(function (value, index) { 
    console.log('Data in index: ' + index + ' is: ' + value); 
}); 
+3

Schließlich, Die Antwort, die ich gesucht habe. Datatables sind großartig, aber sie haben so viele ihrer Funktionen veraltet, dass es schwierig ist, genau das zu finden, was Sie brauchen. –

+0

Warnung: Dies wiederholt nur die Daten selbst, die an dataTables übergeben wurden - also ist jeder HTML-Code, den Sie ihm geben, eine Zeichenfolge in dieser Methode. – starbeamrainbowlabs

3

Datentabellen haben einen Iterator für jede Zeile rows().every()this mit dem Kontext der aktuellen Zeile bezieht iteriert wird.

tableName.rows().every(function(){ 
    console.log(this.data()); 
}); 
+1

Dadurch erhalten wir Reihen von aktuellen Pager. Wie bekomme ich alle Pager Daten? –

3

Wenn Sie die Legacy-Datentabellen verwenden, dann können Sie alle Zeilen bekommen auch die paginierte diejenigen, wie unten gezeigt ...

table.fnGetNodes(); // table is the datatables object. 

So können wir eine Schleife durch die Reihen unter Verwendung .each() Methode zur Verfügung gestellt von jQuery.

jQuery(table.fnGetNodes()).each(function() { 
// You can use `jQuery(this).` to access each row, and process it further.    
}); 
+0

Beste Antwort aller Zeiten :) –

Verwandte Themen