Jquery DataTables.Net为7列提供总和
通过阅读DataTables.NETWiki,我发现了如何将总计添加到一列中,即下面语法中的第4列,因此我相信有丰富JQuery经验的人可以轻松地为我显示第6-12列的总计 这是为第4列添加总计的基本设置-要为其他列添加总计,需要修改哪些内容Jquery DataTables.Net为7列提供总和,jquery,datatable,datatables,datatables-1.10,Jquery,Datatable,Datatables,Datatables 1.10,通过阅读DataTables.NETWiki,我发现了如何将总计添加到一列中,即下面语法中的第4列,因此我相信有丰富JQuery经验的人可以轻松地为我显示第6-12列的总计 这是为第4列添加总计的基本设置-要为其他列添加总计,需要修改哪些内容 一些快速重构允许使用任何列号调用函数。你会注意到我: 将用于第4列的内容包装到一个函数中 表示要求和的列的参数。 然后,我将新函数中的所有匹配项替换为4,并将其替换为colNum 和 继续调用新创建的函数 释义 $document.readyfuncti
一些快速重构允许使用任何列号调用函数。你会注意到我: 将用于第4列的内容包装到一个函数中 表示要求和的列的参数。 然后,我将新函数中的所有匹配项替换为4,并将其替换为colNum 和 继续调用新创建的函数 释义 $document.readyfunction{ $'example'.DataTable{ footerCallback:函数行、数据、开始、结束、显示{ var api=this.api, 数据 //删除格式以获取求和的整数数据 var intVal=functioni{ 返回类型i==='string'? i、 替换/[\$,]/g,*1: i的类型=='编号'? i:0; }; var totalColumn=functioncolNum{ //总页数 总计=空气污染指数 columncolNum先生 数据 .还原函数a,b{ 返回intVala+intValb; }, 0; //本页总计 pageTotal=api columncolNum先生{ 页面:“当前” } 数据 .还原函数a,b{ 返回intVala+intValb; }, 0; //更新页脚 $api.columncolNum.footer.html “$”+pageTotal+“$”+total+“total” ; } 第6列; 第7列; //…剪断。。。 } };
};这是完整的语法还是仅仅是一个示例?我要求bc运行代码片段抛出错误代码片段不知道datatables.net是什么,而且您没有提供任何html或其他源代码。此代码段将不会在此环境中运行。这只是一个例子。在我的produciton环境中运行此命令会给我一个错误:uncaughttypeerror:cannotreadproperty'nTf'的undefined at t。datatables.min.js:199 at t.iterator datatables.min.js:175 at t。datatables.min.js:199 at t。datatables.min.js:179 at t.footer datatables.min.js:178 at totalColumn ar detail summary:483 at n.fn.init.footer回调ar detail summary:491 at datatables.min.js:150 at Function.map datatables.min.js:14 at s datatables.min.js:150在进行故障排除时,我从表中删除了元素。一旦我把它加回去,代码就可以像eExected一样工作了。
$(document).ready(function() {
$('#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);
}, 0 );
// 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)'
);
}
} );
} );