Datatables 只有在初始化页面上的多个数据表时才会发生错误
我试图在一个页面上有两个数据表 然而,我并不是在一个函数调用中初始化它们 我在单独的函数调用中初始化它们 我制作了一个javascript函数,如下所示:Datatables 只有在初始化页面上的多个数据表时才会发生错误,datatables,Datatables,我试图在一个页面上有两个数据表 然而,我并不是在一个函数调用中初始化它们 我在单独的函数调用中初始化它们 我制作了一个javascript函数,如下所示: function initialize_datatable(args) { generate_footer(args.table_selector); $(args.table_selector).DataTable({ columns: args.columns, order: args.or
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);
}
})
}
});
}
应该有语言标签吗?(还有)应该有语言标签吗?(还有)