Javascript 以动态创建的JQuery数据表格式JSON计算总计?

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",

我是JavaScript和jQuery新手。使用jQuery数据表从JSON API填充数据。表头也是动态的,这意味着JSON变量作为头文本。如何添加总计(列和行)。需要按行总计和按列总计

在此表中,您希望在行和列的末尾添加总计文本。行总计和列总计

Ajax编码:-

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中