我有一个数量列,并使用此https://datatables.net/examples/advanced_init/footer_callback.html计算页面和页面的总数到页脚 .
此示例还提示页面和页面上的总金额 . https://datatables.net/examples/plug-ins/api.html
我想要实现的是如何将工资列的选定行的值相加
这是我在jsfiddle上构建的一个,完成了行选择并完成了一个页脚 .
但我无法弄清楚如何在左下角单元格中添加所选行总数的和值
http://jsfiddle.net/ebRXw/190/
$('#example').dataTable( {
"footerCallback": function ( row, data, start, end, display ) {
var api = this.api(), data;
// Remove the formatting to get integer data for summation
var intVal = function ( i ) {
return typeof i === 'string' ?
i.replace(/[\$,]/g, '')*1 :
typeof i === 'number' ?
i : 0;
};
// Total over all pages
total = api
.column( 4 )
.data()
.reduce( function (a, b) {
return intVal(a) + intVal(b);
} );
// Total over this page
pageTotal = api
.column( 4, { page: 'current'} )
.data()
.reduce( function (a, b) {
return intVal(a) + intVal(b);
}, 0 );
// Update footer
$( api.column( 4 ).footer() ).html(
'$'+pageTotal +' ( $'+ total +' total)'
);
}
} );
$('#example tbody').on('click', 'tr', function () {
$(this).toggleClass('selected');
} );
4 回答
试试这个Working Demo
JS FIDDLE
在
th
元素中添加一个.sum
类,显示总和 . 另外,创建一个sum
变量并在javascript代码的顶部对其进行初始化 . 然后,更改将selected
类切换为此的代码:这是一个工作JFiddle
您可以通过 $(this)[0].classList.contains("selected") 检查是否已选择行 . 然后将行 $(this).find(':nth-child(5)') 的第5列的数量添加到 $('sum') 的数量:
这是一个DEMO