Datatables未筛选页脚上的合计金额

Datatables未筛选页脚上的合计金额,datatables,jquery-datatables,Datatables,Jquery Datatables,我使用datatables在我的管理面板上显示一些数据 但是,当我使用搜索选项过滤结果时,它不会影响页脚合计金额,并且金额保持不变?你知道怎么解决吗 jQuery('#')。数据表({ “过滤器”:“已应用”, “footerCallback”:函数(行、数据、开始、结束、显示){ var api=this.api(),数据; //删除格式以获取求和的整数数据 var intVal=函数(i){ 返回类型i==='string'? i、 替换(/[\$,]/g,)*1: 类型i==‘编号’?i

我使用datatables在我的管理面板上显示一些数据

但是,当我使用搜索选项过滤结果时,它不会影响页脚合计金额,并且金额保持不变?你知道怎么解决吗


jQuery('#')。数据表({
“过滤器”:“已应用”,
“footerCallback”:函数(行、数据、开始、结束、显示){
var api=this.api(),数据;
//删除格式以获取求和的整数数据
var intVal=函数(i){
返回类型i==='string'?
i、 替换(/[\$,]/g,)*1:
类型i==‘编号’?i:0;
};
//总页数
if(api.column(2.data().length){
总收入=api
.第(2)栏
.data()
.减少(功能a、b){
返回intVal(a)+intVal(b);
} );
}否则{
总收入=“”;
}
$(api.column(2.footer()).html(
固定总收入(2)
);
},
“长度菜单”:[[12,50,100,-1],[12,50,100,“全部”],,
回答:是的,
“订单”:[[0,“说明”]],
“dom”:“Tlfrtip”,
“表格工具”:{
“sSwfPath”:“public/admin/swf/copy\u csv\u xls\u pdf.swf”
}
});
您需要使用option for function来仅通过使用
{search:'applied'}
请求筛选列。默认情况下,
column()
返回当前顺序中所有页面的所有数据,而不应用筛选。使用选择器修饰符,可以修改该行为

所有页面上与应用于表的当前搜索匹配的行的总数:

if (api.column(2, { search:'applied' }).data().length) {
   total_revenue = api
      .column( 2, { search:'applied' } )
      .data()
      .reduce( function (a, b) {
         return intVal(a) + intVal(b);
      });
} else {
   total_revenue = 0;
}
更新
总收入
必须分配给
0
,以便在表中没有数据时代码正常工作

请参见下面的示例进行演示

$(文档).ready(函数(){
$('#示例')。数据表({
“footerCallback”:函数(行、数据、开始、结束、显示){
var api=this.api(),数据;
//删除格式以获取求和的整数数据
var intVal=函数(i){
返回类型i==='string'?
i、 替换(/[\$,]/g,)*1:
类型i==‘编号’?i:0;
};
//总页数
if(api.column(3,{search:'applicated'}).data().length){
总收入=api
.column(3,{搜索:'applied'})
.data()
.减少(功能a、b){
返回intVal(a)+intVal(b);
} );
}否则{
总收入=0;
}
$(api.column(3.footer()).html(
固定总收入(2)
);
}
});
});

名称
位置
办公室
年龄
开始日期
薪水
名称
位置
办公室
年龄
开始日期
薪水
老虎尼克松
系统架构师
爱丁堡
61
2011/04/25
$320,800
加勒特温特斯
会计
东京
63
2011/07/25
$170,750
阿什顿考克斯
初级技术作者
旧金山
66
2009/01/12
$86,000
塞德里克·凯利
高级Javascript开发人员
爱丁堡
22
2012/03/29
$433,060
佐藤航空
会计
东京
33
2008/11/28
$162,700
布里尔·威廉姆森
集成专家
纽约
61
2012/12/02
$372,000
赫罗德·钱德勒
营业员
旧金山
59
2012/08/06
$137,500
罗娜·戴维森
集成专家
东京
55
2010/10/14
$327,900
科琳赫斯特
Javascript开发人员
旧金山
39
2009/09/15
$205,500
索尼娅·弗罗斯特
软件工程师
爱丁堡
23
2008/12/13
$103,600
杰娜·盖恩斯
办公室经理
伦敦
30
2008/12/19
$90,560
奎因·弗林
支撑导线
爱丁堡
22
2013/03/03
$342,000
查尔德·马歇尔
区域主任
旧金山
36
2008/10/16
$470,600
海莉·肯尼迪
高级市场设计师
伦敦
43
2012/12/18
$313,500
塔蒂亚娜·菲茨帕特里克
区域主任
伦敦
19
2010/03/17
$385,750
迈克尔·席尔瓦
营销设计师
伦敦
66
2012/11/27
$198,500
柏德
首席财务官(CFO)
纽约
64
2010/06/09
$725,000
格洛丽亚·利特尔
系统管理员
纽约
59
2009/04/10
$237,500
布拉德利·格里尔
软件工程师
伦敦
41
2012/10/13
$132,000
戴里奥斯
人事领导
爱丁堡
35
2012/09/26
$217,500
杰内特·考德威尔
开发领导
纽约
30
2011/09/03
$345,000
尤里浆果
首席营销官(CMO)
纽约
40
2009/06/25
$675,000
凯撒万斯
售前支持
纽约
21
2011/12/12
$106,450
多丽丝·怀尔德
营业员
西德尼
23
2010/09/20
$85,600
当归
首席执行官(CEO)
伦敦
47
2009/10/09
$1,200,000
加文·乔伊斯
开发商
爱丁堡
42
2010/12/22
$92,575
张珍妮弗
区域主任
新加坡
28
2010/11/14
$357,650
布伦登·瓦格纳
s
<script>
jQuery.fn.dataTable.Api.register( 'sum()', function () {
    return this.flatten().reduce( function ( a, b ) {
        return (a*1) + (b*1); 
         });
});

var table = $("table").DataTable();

$("table").on('search.dt', function() {

    var one = table.column( 0, {page:'current'} ).data().sum();
    var two = table.column( 1, {page:'current'} ).data().sum();


    one =  isNaN( one )? '&nbsp;' : one ;

    two =  isNaN( one )? '&nbsp;' : two ;

        var data = "<tr>"+
               "<th>Total: "+one+"</th>"+
               "<th>Total :"+two+"</th>"+
               "<th>&nbsp;</th>"+
               "<th>&nbsp;</th>"+
               "<th>&nbsp;</th>"+
               "<th>&nbsp;</th>"+
               "</tr>";

               $("#tfoot").html(data);
               });
</script>