gpt4 book ai didi

javascript - jQuery DataTables() 返回空数组,无法在未定义的情况下调用 destroy()。

转载 作者:行者123 更新时间:2023-11-29 19:34:28 25 4
gpt4 key购买 nike

我有以下代码:

function clearAllCourses() {
activeCourseIDs = [ 0 ];
UnloadStudents();
$('#Australia').show();
}

function UnloadStudents() {
var table = $('#studentDrillDownDataTable');
table.hide();
table.DataTable().destroy();
//table.clear().draw();
//table.ajax.reload();
}

在我的应用程序中,有一个下拉菜单,用于选择要使用 jQuery DataTables 加载到表中的类(class)。当所选类(class)的数量从一些类(class)变为无类(class)(零)时,将调用上面的 clearAllCourses() 函数,进而调用 UnloadStudents()功能。

在选定的表对象上调用 destroy() 时会出现问题。以下是错误以及 Chrome Dev Tools 控制台的一些输出以帮助调试。

未捕获的类型错误:无法读取未定义的 jquery.dataTables.js:2574 的属性“长度”

当下拉列表中的任意数量的选定类(class)更改为未选择任何类(class)(零)时,会发生上述错误。该错误暗示 table.DataTable() 返回 undefined,实际上返回一个空数组(见下文)。

> $('#studentDrillDownDataTable').DataTable();
> []

因此,destroy() 没有正确执行,因此当在下拉列表中重新选择任何类(class)时,会发生此错误:

Uncaught Error: DataTables warning: table id=studentDrillDownDataTable - Cannot reinitialise DataTable. For more information about this error, please see http://datatables.net/tn/3 jquery.dataTables.js:4832

下一个想法可能是 table 不是初始化的 DataTable 或者 table 不是它应该的样子。我已经排除了这种可能性,因为这是我选择表格时的输出:

[<table class=​"table table-datatable table-custom display dataTable" id=​"studentDrillDownDataTable" width=​"100%" aria-describedby=​"studentDrillDownDataTable_info" role=​"grid" style=​"display:​ none;​ width:​ 100%;​">​…​</table>​]

知道发生了什么以及如何解决它吗?

最佳答案

尝试将 $('#..').DataTable() 更改为 $('#..').dataTable() - 这适用于 DT > 1.9 的版本

关于javascript - jQuery DataTables() 返回空数组,无法在未定义的情况下调用 destroy()。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25813843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com