javascript - DataTables:总计一列 - 除了具有特定类别的行?

标签 javascript jquery datatables datatables-1.10

我有计算列总计的代码,但我有已经有总计的子组。除了灰色总计行之外,我可以对列中的每个数字进行总计吗? enter image description here

var table = $('#datatable');
var leng = table.find("tr:first").children().length;

    // add totals to new row
            for (var i = 0; i < leng; i++) {

                var total = api
                .column(i)
                .data()
                    .reduce(function (a, b) {
                        // return if it's not a value from the gray row
                        return intVal(a) + intVal(b);
                    });

                // correct any html mistakes that slip through
                if (isNaN(intVal(total)))
                    total = '';

                table.find("tfoot tr:first th").eq(i).html(total);
            };

最佳答案

为什么不在 rows() API 方法上使用 :not 选择器并根据剩余行计算总和?非常小的例子,在回调中将 col#1 的总和添加到页脚:

var table = $('#example').DataTable({
    drawCallback: function () {
        var api = this.api(),
            sum = 0;
        api.rows(":not('.sgrouptotal')").every(function() {
            sum += parseFloat(this.data()[0]);
        });    
        $(api.column(0).footer()).text(sum);
    }
});

演示 -> http://jsfiddle.net/j38bmagj/

上面的内容应该很容易扩展到多列。在与 sum4 += this.data()[4] 等相同的循环中计算第 4 列的总和。

关于javascript - DataTables:总计一列 - 除了具有特定类别的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32398124/

相关文章:

javascript - 如何提高 9,999 行 DOM jquery DataTable 的性能/速度?

javascript - 在第一列 DataTables 中禁用行选择

javascript - 如何显示下个月的 Laravel FullCalendar

Javascript冲突导致页面无法在ie中显示

javascript - 使用 JavaScript 单击按钮时如何隐藏/显示表单?

jquery - 使用 jQuery .each() 在多个图像下方附加标题属性。

JavaScript – 检测元素是否在视口(viewport)中停留 n 秒

javascript - 复选框单击事件在数据表的第二页中不起作用?

javascript - 在 jquery 自动完成中获取所选项目的索引

jquery - 从服务器的 $.getJSON 请求获取 aoColumnDefs 和 aoColumns?