我正在使用数据表版本1.9.4。使用数据表的fnIsDataTable函数我需要检查数据表是否已经初始化。但是使用fnIsDataTable函数总是返回false。以下是我的功能:
function getData() {
if ( $.fn.DataTable.fnIsDataTable( "#example" ) ) {
$("#example").dataTable();
} else {
$("#example").dataTable( {
bLengthChange": false,
"bFilter": true,
"bInfo": false,
"bSort": false,
"iDisplayLength": 50
} );
}
}
有人可以帮助我吗?
答案 0 :(得分:3)
我找到了解决方案。我们需要通过使用javascript函数getElementById来获取该表元素的引用,然后在fnIsDataTable函数中使用此引用变量来检查其初始化。如下所示:
function getData() {
var ex = document.getElementById("example");
if ( $.fn.DataTable.fnIsDataTable( ex ) ) {
$("#example").dataTable();
} else {
$("#example").dataTable( {
"bLengthChange": false,
"bFilter": true,
"bInfo": false,
"bSort": false,
"iDisplayLength": 50
} );
}
}
答案 1 :(得分:0)
或者,从v1.10开始,您只需使用isDataTable
代替fnIsDataTable
。
function getData() {
if ( $.fn.DataTable.isDataTable( "#example" ) ) {
$("#example").dataTable();
} else {
$("#example").dataTable( {
"bLengthChange": false,
"bFilter": true,
"bInfo": false,
"bSort": false,
"iDisplayLength": 50
} );
}
}

请参阅文档:https://datatables.net/reference/api/%24.fn.dataTable.isDataTable()