Datatables 只有在初始化页面上的多个数据表时才会发生错误

Datatables 只有在初始化页面上的多个数据表时才会发生错误,datatables,Datatables,我试图在一个页面上有两个数据表 然而,我并不是在一个函数调用中初始化它们 我在单独的函数调用中初始化它们 我制作了一个javascript函数,如下所示: function initialize_datatable(args) { generate_footer(args.table_selector); $(args.table_selector).DataTable({ columns: args.columns, order: args.or

我试图在一个页面上有两个数据表

然而,我并不是在一个函数调用中初始化它们

我在单独的函数调用中初始化它们

我制作了一个javascript函数,如下所示:

function initialize_datatable(args) {
    generate_footer(args.table_selector);
    $(args.table_selector).DataTable({
        columns: args.columns,
        order: args.order,
        scrollX: true,
        ...
        ...
不能调用此方法两次吗

是否需要将多个表合并为一个
.DataTable()
初始化?例如,
$(“#表一#表二#表三”).DataTable()

每当我尝试对
.DataTable()
进行两次单独调用时,都会出现以下错误:

未捕获类型错误:无法设置未定义的属性“nTf”
。如果你用谷歌搜索这个错误,它会说发生这个错误是因为你的页眉和页脚中有不同数量的元素。我已经计算了页脚中的
元素,它们是相同的数字

我可以初始化一个表或另一个表,但不能同时初始化两个表,因此我知道多次调用
.DataTable()

这是初始化数据表的完整定义:

function initialize_datatable(args) {
    generate_footer(args.table_selector);
    $(args.table_selector).DataTable({
        columns: args.columns,
        order: args.order,
        scrollX: true,
        sScrollXInner: "100%",
        dom: "Blfrtip",
        buttons: [
            {
                extend       : 'copyHtml5',
                title        : args.title,
                sheetName    : args.title,
                footer       : true,
                exportOptions: {
                    columns: ':visible'
                }
            },
            {
                extend       : 'excelHtml5',
                footer       : true,
                title        : args.title,
                sheetName    : args.title,
                exportOptions: {
                    columns: ':visible'
                }
            },
            {
                extend       : 'csvHtml5',
                title        : args.title,
                sheetName    : args.title,
                footer       : true,
                exportOptions: {
                    columns: ':visible'
                }
            },
            {
                extend       : 'print',
                text         : 'Print',
                title        : args.title,
                sheetName    : args.title,
                autoPrint    : true,
                footer       : true,
                stripHtml    : false,
                exportOptions: {
                    columns: ':visible',
                }
            }
        ],
        drawCallback: function () {
            let api = this.api();

            // hide columns that add up to 0
            api.columns().every(function (i) {
                let sum = this.data().sum();
                if (sum === 0 && typeof sum === 'number' && i !== 0) {
                    api.column(i).visible(0);
                }
            });
        }, 
        footerCallback: function (row, data, start, end, display) {
            let api = this.api()

            intVal = function (i) {
                return typeof i === 'string' ?
                    i.replace(/[\$,]/g, '')*1 :
                    typeof i === 'number' ?
                        i : 0;
            }

            api.columns({page: 'current'}).every(function (i) {
                let columnTotal = this.data().reduce(function (a, b) {
                    return intVal(a) + intVal(b);
                }, 0);

                if (!isNaN(columnTotal)) {
                    columnTotal = Intl.NumberFormat('en-US', {style: 'currency', currency: 'USD'}).format(columnTotal);
                    $(this.footer()).html(columnTotal);
                }
            })
        }
    });
}

应该有语言标签吗?(还有)应该有语言标签吗?(还有)