gpt4 book ai didi

jquery - 获取过滤字段的总计

转载 作者:行者123 更新时间:2023-12-01 04:08:29 24 4
gpt4 key购买 nike

我正在使用 jQuery DataTables 创建一个表。我正在对一个货币字段进行求和,除了一个问题外,一切都运行良好。当我使用搜索过滤器时,它会为我提供所有行的总计。我想要的是过滤器返回的行的总计。这是我的代码:

var table = $('#tblAdvertising').DataTable({
"iDisplayLength": 10,
"bDestroy": true,
"bLengthChange": false,
"columnDefs": [
{ "visible": false, "targets": 0 }
],
"drawCallback": function (settings) {
var api = this.api();
var rows = api.rows({ page: 'current' }).nodes();
var last = null;

api.column(0, { page: 'current' }).data().each(function (group, i) {
if (last !== group) {
$(rows).eq(i).before(
'<tr class="group"><td colspan="5">' + group + '</td></tr>'
);

last = group;
}
});
},
"footerCallback": function(row, data, start, end, display) {
var api = this.api();

var intVal = function(i) {
return typeof i === 'string' ?
i.replace(/[\$,]/g, '') * 1 :
typeof i === 'number' ?
i : 0;
}

var total = api.column(3).data().reduce(function(a, b) {
return intVal(a) + intVal(b);
});

var pageTotal = api.column(3, { page: 'current' }).data().reduce(function (a, b) {
return intVal(a) + intVal(b);
});

$(api.column(3).footer()).html('$' + pageTotal.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,') + '<hr style="margin: 0" />$' + total.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,'));
}
});

问题很可能出现在以 var total = 开头的行中。我想我需要做一些类似 var total = api.column(3).data().filteredData()... 的事情。当然,这是行不通的,但任何帮助将不胜感激!

最佳答案

在最后一行中,您使用 column(3) 的地方还传入了 {'search': 'applied'} (a selector-modifier ) 作为第二个论证。

var total = api.column(3, {'search': 'applied'}).data().reduce(function(a, b) {

关于jquery - 获取过滤字段的总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24173116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com