javascript - 数据表无法重新初始化数据表并且销毁不起作用
问题描述
选择一个新选项后,我已经尝试了所有用于销毁和清空数据表的命令,但无法正常工作。
这是我的 js 文件中包含 ajax 的一部分。它使用动态 urls api。
function table(url, columns) {
var dt = $("#datatables").dataTable({
"serverSide": true,
"processing": true,
"ajax": {
"url": url,
"type": "GET",
},
"columns": columns,
lengthMenu: [[25, 100, 250, 500], [25, 100, 250, 500]],
pageLength: 25,
// destroy: true
});
... // more stuff here about the design of the table
}
$("form#btnGetDomain").on("submit", function (ev) {
ev.preventDefault();
ev.stopPropagation();
// $("#datatables").dataTable().fnDestroy();
var url;
var columns;
var categ = document.getElementById("categ").value;
// this is where i do if statements depending what options was selected
// i get the proper url api
...
table(url, columns);
});
我已经尝试了所有这些命令:
$("#datatables").dataTable().fnDestroy();
$("#datatables").empty();
destroy: true,
数据表中的命令“destroy:true” 我不知道它是否正常工作,因为在我第二次尝试选择另一个选项后,表没有响应,它只是说**处理....**
在我选择任何选项来清除表格之前,我还尝试将命令放在 on submit 函数中。现在我正在考虑做一个 if 语句,如果它们是一个表,请清除它。
谢谢
更新
我尝试过使用dataTable和DataTable
**更新 2 **
if ($.fn.DataTable.isDataTable("#datatables")) {
$("#datatables").DataTable().clear().draw();
$("#datatables").dataTable().fnDestroy();
}
我在var dt = $("#datatables").dataTable({...
是的,我注意到我使用了小型和大型数据表……但这有效……我确实尝试将两者都与大D一起使用,但没有奏效……还尝试在最后一个中使用:DataTable().destroy ();...没用
示例:使用视频和频道我选择了第一次视频。
在我选择频道后:它可以更改列名(我为每个 api 设置了不同的列名)......但行保持不变。
当我选择返回视频时。列名更改,行更改为先前选择的通道。
希望你能理解。为什么我必须使用dataTable和DataTable真的没有意义......
它确实改变了,但错误的改变......至少我越来越接近答案,希望如此。
解决方案
我找到了答案我把这行代码放在表函数的开头
function table(url, columns) {
var dt;
if ($.fn.DataTable.isDataTable("#datatables")) {
$("#datatables").DataTable().clear().draw();
$("#datatables").DataTable().destroy();
$("#datatables thead").html('');
}
...
}
它对我来说很好,它清除了行,破坏了表格,并清空了thead。
哦..我已经从小写数据表更改为大写数据表
推荐阅读
- ansible - Ansible Tower 在下拉列表中看不到剧本
- angular - Angular - 将插值表达式作为组件参数传递
- javascript - 您如何将 P5 loadImage() 与 FileReader 中的 React 道具一起使用?
- python - 使用 pywhatkit 发送自动消息后自动关闭选项卡
- python - AttributeError:'set'对象没有属性'items'python不和谐错误
- javascript - (节点:10388)UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“缓存”
- reactjs - react-chartjs-2 更改轴文本颜色
- zurb-foundation - Foundation 6 - Reveal - 只有前几个打开
- python - 如何将来自不同 DataFrame 的列相乘?(Python)
- python - 数据框过滤器仅适用于多个 for 循环,不适用于列表理解