【发布时间】:2023-03-18 07:23:01
【问题描述】:
场景:我在 2 个选项卡中有 2 个不同的数据表。 单击选项卡时,我将显示/隐藏 div 和相应的数据表。
在 document.Ready 上,我正在初始化数据表。它现在工作正常。但是,当我从一个选项卡切换到另一个选项卡然后调整浏览器窗口大小时,我在控制台中收到以下错误:
SCRIPT5007:无法获取属性“样式”的值:对象是 空或未定义
我在 datatable.min.js(版本 1.10.10)中遇到错误。附上报错截图:
数据表的初始化如下:
var $employeeTable,
savedPage ;
function initalizeEmp() {
$employeeTable = $('#employee').DataTable({
responsive: true,
"order": [[1, "desc"]],
"lengthMenu": [[10, 25], [10, 25]],
"columnDefs": [{
"targets": 4,
"render": function (data, type, full, meta) {
if ($(data).attr('results-grid') != "")
return '<a href="javascript: void(0);" onclick="window.open(\'../School/DownloadEmp.aspx?EmpID=' + $(data).attr('results-grid') + '\')" target="_blank">' + data + '</a>';
//return '<a href="javascript: void(0);" onclick="EmpLink(' + $(data).attr('results-grid') + ')">' + data + '</a>';
else
return data;
}, "orderable": true
},
{
'bSortable': false,"targets": [0]
},
{ type: 'date-mm-dd-yyyy', targets: 1 },
{
'bSortable': false,"targets": [6]
},
{
'bSortable': false,"targets": [7]
},
{
'bSortable': false,"targets": [8]
}
],
fnInitComplete: function () {
setTimeout(function () {
if (typeof savedPage !== 'undefined') {
$employeeTable.page(savedPage).draw(false);
}
//$('body').vtUnmask();
}, 10);
}
});
$('#employee').on('page.dt', function () {
savedPage = $employeeTable.page();
$('input[id*="_checkBox"]').attr('checked', false);
});
}
【问题讨论】:
-
错误是否与代码中的特定行相关?
-
尝试相同的代码,但不要在表格属性末尾的方括号后面加上逗号。
... 'bSortable': false,"targets": [8] } ], -
嗨@jonmrich,感谢您的回复我尝试不使用逗号,但仍然无法正常工作。我也添加了错误的屏幕截图。请检查一下。
-
知道了...这几乎肯定是由于您的列数错误造成的。如果您在 HTML 中定义列并且在数据表启动中具有不同数量的列,那么您将收到此错误。表格的 HTML 是什么样的?
标签: javascript jquery datatable datatables nullreferenceexception