Как выполнить цикл через все строки в DataTables jQuery?

Я использую плагин jquery DataTables для построения хорошей таблицы

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

Я хотел бы, чтобы сделать каждый для всех строк в таблице

к сожалению, этот способ может быть устаревшим и не работает с новой версией (он запускает ошибку)

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

});

и этот способ работает только для строк visibles (10 первых строк, потому что другие строки разбиты на страницы)

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

вы знаете, как зацикливаться на все строки, пожалуйста?

3 ответов


Я, наконец, нашел:

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

если вы используете устаревшие DataTables, то вы можете получить все строки даже разбитые на страницы, как показано ниже...

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

таким образом, мы можем перебирать строки с помощью .each() метод jQuery.

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

Datatables имеют итератор для каждой строки rows ().каждый() С this ссылка на контекст текущей итерации строки.

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