jquery - 销毁 DataTable 并使用新获取的数据重新创建
问题描述
我需要jQuery DataTable
用新获取的数据重新初始化。我已经阅读了几篇有类似问题的帖子,解决方案涉及在重新初始化之前破坏现有的数据表。该表最初呈现良好,但是当尝试通过更改列数再次呈现它时,我收到错误:Uncaught TypeError: Cannot read property 'style' of undefined
。我了解当 HTML 列数和 DataTables 的列定义不匹配时会发生此错误。这意味着初始表没有成功销毁。这是代码:
var dataSet1 = [{
"country": "Benin",
"year": 1996,
"water": 70.0
},{
"country": "Vietnam",
"year": 1996,
"water": 95.1
}];
var dataSet2 = [{
"country": "Benin",
"year": 2000,
"water": 75.8,
"electricity": 58.5 //additional column from the database
},{
"country": "Vietnam",
"year": 2000,
"water": 96.8,
"electricity": 63.2
}];
$('#example_dt').DataTable({
data: dataSet1,
columns: [
{ data: "country" },
{ data: "year" },
{ data: "water" }],
'searching': false
});
$('#update_data_btn').click (function(){
//$("#example_dt").DataTable().fnDestroy();
$('#example_dt').DataTable({
destroy: true,
//retrieve: true
data: dataSet2,
columns: [
{ data: "country" },
{ data: "year" },
{ data: "water" },
{ data: "electricity" }],
// "bDestroy": true,
'searching': false
} );
});
});
我从类似的帖子中尝试了以下各种建议,但似乎无法解决这个问题。同样的错误仍然出现。
[1] Adding destroy: true
[2] Adding $("#example_dt").DataTable().fnDestroy();
[3] Adding retrieve: true
[4] Adding "bDestroy": true
[5] Using $('#example_dt').empty(); //this empties and new table not created
这是小提琴
解决方案
推荐阅读
- spring-boot - Hazecast-Kubernetes Springboot 应用嵌入式集群警告
- javascript - 如何使用猫鼬在聚合查询项目中自定义对象数组
- excel-formula - 根据单元格值从单元格中删除特定字符
- python - 使用从父类继承的方法作为子类方法的装饰器
- android - 我在 CustomSwitch 中有一个 RenderFlex 溢出
- azure-cosmosdb - 从文档中提取的 ParitionKey 与标题中指定的不匹配 - C#
- javascript - 如何模拟扩展组件 vue.js
- python - 让DataFrame的列的区别
- ansible - 变量中的 Ansible 访问变量
- javascript - 快速自动对焦跳转到 R Shiny 中的下一个文本输入