首页 > 解决方案 > 在所有 jquery dataTables 上设置全局数字格式

问题描述

我有大约100 个jquery 数据表,所有表都包含不同顺序的数字列,其中一些是 int 一些是 float,我想设置配置 dataTable 设置数字格式的全局函数,并且应该适用于所有数据目标列每张桌子都不一样

$.extend($.fn.dataTable.defaults, {        
        "columnDefs": [{
            "targets": [0,1,3],
            render: $.fn.dataTable.render.number(',', '.', 0)
        }]
    });

对于 int (1234) = 1,234和对于 float 1234.00 = 1,234.00

标签: javascriptjquerydatatables

解决方案


在代码中进行这些更改,代码在单独的 js 文件中。

   $.extend($.fn.dataTable.defaults, {
    "columnDefs": [{
        targets: '_all',        
        render: function (data, type, full, meta) {           

            if (Number.isInteger(data)) {
                return data.toLocaleString('en-US', { maximumFractionDigits: 0, minimumFractionDigits: 0 });
            } else if (isNaN(parseInt(data))) {  
                return data;
            } else {
                return data.toLocaleString('en-US', { maximumFractionDigits: 2, minimumFractionDigits: 2 });
            }
        }
    }]
});

推荐阅读