私は自分のサイトでdatatablejqueryプラグインを使用しています。すべてうまく機能しています。
ただし、プラグインスクリプトの列フィルターを使用してテーブルを拡張しようとしているので、フッターにデータを要約します。フィルタを正しく機能させることができます。
データを要約するためのデータテーブルの例は、データのページまたはデータセット全体のいずれかでのみ機能します。
私はこのスレッドを見つけました:http ://datatables.net/forums/discussion/2053/fnfootercallback-sum-column-after-filter/p1同様の解決策を探しています。著者は次の機能を提案しています。
._('td:nth-child(4)', {"filter": "applied"})
これは明らかに、フィルタリングされたデータのオブジェクトを返します。しかし、これを取得すると、どこからデータを追加し始めるのかわかりません
現時点では、私のデータテーブルスクリプト(投稿のために短縮されています)は次のようになっています。
table.dataTable({...
"fnFooterCallback": function ( nRow, aaData, iStart, iEnd, aiDisplay ) {
/*
* Calculate the total sales for the table (ie inc. outside
* the pagination)
*/
var iTotalSales = 0;
for ( var i=0 ; i<aaData.length ; i++ )
{
iTotalSales += aaData[i][2]*1;
}
/* Calculate the total sales on this page */
var iPageSales = 0;
for ( var i=iStart ; i<iEnd ; i++ )
{
iPageSales += aaData[ aiDisplay[i] ][2]*1;
}
/* Modify the footer row to match what we want */
var secondRow = $(nRow).next()[0];
var nCells = secondRow.getElementsByTagName('td');
nCells[0].innerHTML = accounting.formatMoney(iPageSales, "£ ", 2) +
' Page Total ('+ accounting.formatMoney(iTotalSales, "£ ", 2) +' Total Sales)';
}
})
.columnFilter({
aoColumns: [ { type: "date-range" },
null,
{ type: "text" },
{ type: "text" },
{ type: "select" },
{ type: "select" }
]
})
._('td:nth-child(4)', {"filter": "applied"});
私は現在、テーブルの合計に対してページでフィルタリングされた合計を表示する上記の要約を持っています(フィルタリングされただけでなくすべてのデータ)
私はjqueryの初心者です-最後の呼び出しで作成されたオブジェクトの操作をどこから始めればよいかわかりません
ありがとうございました