23

HTMLテーブルにjQueryDataTablesプラグインを使用しています。

ページ全体のテーブルの行数の行数を取得する方法はありますか?

たとえば70、テーブルに行があり、50それらが1ページ目と202ページ目に表示されるとします。カウントを取得する方法はあり70ますか?

私はこの投稿に含まれているすべての提案を試しました: jQuery:テーブルの行数を数える

これも:

var rowCount = $('#myTable tr').length;
var rowCount = $('#myTable tr').size();
var rowCount = $('#myTable >tbody >tr').length;
var rowCount = $("#myTable").attr('rows').length;

しかし、上記のすべての提案は、既存のページの行数を返すようです(この場合は50ではなく70)。

4

5 に答える 5

26

DataTables が現在のページにない行を DOM から削除しているように見えるため、jQuery セレクターでそれらをカウントすることはできません。DataTables API、具体的には次のfnGetData関数を使用する必要があります。

$(document).ready(function() {

    // Initialize your table
    var oTable = $('#myTable').dataTable();

    // Get the length
    alert(oTable.fnGetData().length);
} );
于 2010-07-13T14:39:38.287 に答える
8

サーバー側のページングを使用すると、次のように合計レコード数にアクセスできます...

dt.fnSettings()._iRecordsTotal;

サーバー側のページングを使用している場合は、fnDrawCallback にフックして、テーブルが描画されるたびに html を更新できます...

$('#Table').dataTable({
    "fnDrawCallback": function (oSettings) {
        alert(oSettings._iRecordsTotal);
     }
});
于 2011-08-08T18:34:01.210 に答える
-2

データテーブル ajax 呼び出しの JSON 応答では、その応答 JSON オブジェクトのプロパティの 1 つとして「iTotalDisplayRecords」を取得します。「iTotalDisplayRecords」の値をデータ テーブルのレコード数として直接使用できます。

于 2015-06-24T13:18:59.297 に答える