Javascript 以动态创建的JQuery数据表格式JSON计算总计?
我是JavaScript和jQuery新手。使用jQuery数据表从JSON API填充数据。表头也是动态的,这意味着JSON变量作为头文本。如何添加总计(列和行)。需要按行总计和按列总计 在此表中,您希望在行和列的末尾添加总计文本。行总计和列总计 Ajax编码:-Javascript 以动态创建的JQuery数据表格式JSON计算总计?,javascript,jquery,datatables,Javascript,Jquery,Datatables,我是JavaScript和jQuery新手。使用jQuery数据表从JSON API填充数据。表头也是动态的,这意味着JSON变量作为头文本。如何添加总计(列和行)。需要按行总计和按列总计 在此表中,您希望在行和列的末尾添加总计文本。行总计和列总计 Ajax编码:- function manufacturingSummary(todayDate) { $('.loader').show(); $.ajax({ url : adminBaseUrl + "mfgSummary",
function manufacturingSummary(todayDate) {
$('.loader').show();
$.ajax({
url : adminBaseUrl + "mfgSummary",
type : "POST",
crossDomain : true,
data : {
"summary_date" : todayDate
},
success : function(data) {
if (data.status == 1) {
$('.loader').hide();
var summaryColumns = [];
$.each( data.prodMfgSummary[0], function( key, value ) {
var items = {};
items.data = key;
items.title = key;
items.orderable = false;
/*items.className = "dt-body-right { text-align: center; }";*/
summaryColumns.push(items);
});
createProdSummaryTable(summaryColumns, data.prodMfgSummary);
} else {
$('.loader').hide();
$('#productionSummary').DataTable().clear().draw();
}
},
error : function(xhr, status) {
$('.loader').hide();
alert(status);
}
});
}
function createProdSummaryTable(columns, mfgSummaryProductData){
$('#productionSummary').dataTable({
"autoWidth" : false,
responsive : true,
"aaData" : mfgSummaryProductData,
"destroy" : true,
"aaSorting": [],
"bFilter": false,
"aoColumns" : columns,
"iDeferLoading" : 57
});
}
表格创建代码:-
function manufacturingSummary(todayDate) {
$('.loader').show();
$.ajax({
url : adminBaseUrl + "mfgSummary",
type : "POST",
crossDomain : true,
data : {
"summary_date" : todayDate
},
success : function(data) {
if (data.status == 1) {
$('.loader').hide();
var summaryColumns = [];
$.each( data.prodMfgSummary[0], function( key, value ) {
var items = {};
items.data = key;
items.title = key;
items.orderable = false;
/*items.className = "dt-body-right { text-align: center; }";*/
summaryColumns.push(items);
});
createProdSummaryTable(summaryColumns, data.prodMfgSummary);
} else {
$('.loader').hide();
$('#productionSummary').DataTable().clear().draw();
}
},
error : function(xhr, status) {
$('.loader').hide();
alert(status);
}
});
}
function createProdSummaryTable(columns, mfgSummaryProductData){
$('#productionSummary').dataTable({
"autoWidth" : false,
responsive : true,
"aaData" : mfgSummaryProductData,
"destroy" : true,
"aaSorting": [],
"bFilter": false,
"aoColumns" : columns,
"iDeferLoading" : 57
});
}
帮我解决这个问题 这里是一个示例,使用及其呈现
和目标
选项gor columnwise和页脚回调
进行行操作
var数据集=[{“名称”:“韦德·罗德里格斯”,“字段1”:21,“字段2”:22,“字段3”:20,“字段4”:21},{“名称”:“麦克斯韦·拉什”,“字段1”:31,“字段2”:27,“字段3”:29,“字段4”:37},{“名称”:“鲁伊斯·默里”,“字段1”:40,“字段2”:30,“字段3”:27,“字段4”:31},{“名称”:“坦纳·克罗斯比”,“字段1”:37,“字段2”:35,“字段3”:21,“字段4”:39},{“名称”:“谢尔比·道格拉斯”,“字段1”:25,“第二场”:25,“第三场”:30,“第四场”:30},{“姓名”:“哈尼·富尔顿”,“第一场”:35,“第二场”:26,“第三场”:38,“第四场”:27}]
$(文档).ready(函数(){
var my_columns=[];
$.each(数据集[0],函数(键,值){
var my_item={};
my_item.data=键;
my_item.title=键;
my_columns.push(my_项);
});
我的推({
标题:“总计”
})
$(文档).ready(函数(){
$(“#示例”).DataTable({
数据:数据集,
“专栏”:我的专栏,
“columnDefs”:[{
“渲染”:函数(数据、类型、行){
返回Object.values(行).reduce((a,b)=>isNaN(b)?a:a+b,0)
},
“目标”:my_columns.length-1
}],
“footerCallback”:函数(行、数据、开始、结束、显示){
$('#示例tfoot').html('');
$('#示例')。追加('Total');
var api=this.api();
var合计=0;
api.列([1,2,3,4]{
页面:“当前”
}).every(函数){
var sum=此
.data()
.减少(功能a、b){
var x=parseFloat(a)| 0;
变量y=parseFloat(b)| 0;
返回x+y;
}, 0);
总数+=总和;
$('#示例tfoot tr')。追加(''+sum+'');
});
$('#示例tfoot tr')。追加(''+total+'');
}
});
});
});
我需要行总计和列总计。您的答案是行总计。谢谢。但是行总计总是只显示0。@Yugesh行总计添加当我冻结第一列页脚行时。是否可以将总计作为新行添加到tbody中,而不是添加到tfoot中