web-dev-qa-db-ja.com

DataTables jQueryのすべての行をループする方法は?

Jqueryプラグインを使用しています[〜#〜] d [〜#〜] ataTables for nice table

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

テーブルのすべての行にそれぞれを作成したい

残念ながら、この方法は古くなっている可能性があり、新しいバージョンでは機能しません(エラーが発生します)

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

});

そして、この方法は可視行に対してのみ機能します(他の行はページ分割されているため、最初の10行)

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

すべての行にループする方法を知っていますか?

20
Vivien Pipo

私はついに見つけました:

 var data = table.rows().data();
 data.each(function (value, index) {
     console.log(`For index ${index}, data value is ${value}`);
 });
32
Vivien Pipo

レガシーDataTablesを使用している場合、以下に示すように、すべての行を取得できますページ分割されたものも含めて.

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

したがって、jQueryが提供する.each()メソッドを使用して、行をループできます。

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

データテーブルには、各行にイテレータがあります rows()。every() with this with iterate the current row of the iterated。

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