Javascript 如何使用jQuery DataTables重新创建表

Javascript 如何使用jQuery DataTables重新创建表,javascript,jquery,datatables,Javascript,Jquery,Datatables,我有一个表格,显示正在上载的.csv文件的状态 文件上传表: FileName FileType FileSize AvailableActions 我还有第二个表,它显示了.csv文件中的数据 我需要向用户提供重置表单的功能,即清除.csv并清除所有数据,destroy()分别删除两个表,并empty()删除最初存在的所有数据 这就是我遇到的问题 我似乎无法在destroy()和empty()之后设置FileUploadTable的列标题。当我试图上传一个新文件时,元素仍然在页面上,只是空的

我有一个表格,显示正在上载的.csv文件的状态

文件上传表:

FileName FileType FileSize AvailableActions
我还有第二个表,它显示了.csv文件中的数据

我需要向用户提供重置表单的功能,即清除.csv并清除所有数据,
destroy()
分别删除两个表,并
empty()
删除最初存在的所有数据

这就是我遇到的问题

我似乎无法在
destroy()
empty()
之后设置FileUploadTable的列标题。当我试图上传一个新文件时,元素仍然在页面上,只是空的,尽管调用了相同的初始化

destroy()
empty()
之后,我似乎无法摆脱CSVTable中的列标题。当我尝试上载不同的csv时,它会尝试将列标题与应该销毁的列标题进行匹配,但它们不匹配,因为尽管CSVTable已销毁并清空,但列标题仍然存在

不知道我错过了什么。它们在初始创建时被正确设置

$(elem).DataTable() 
谁能给我演示一下销毁/清空数据表,然后用不同的数据重新初始化的基本工作实现,这样我就可以试着模仿它了。过去3天看他们的文件,我的大脑都快崩溃了,没有任何进展

我的数据对象的示例

[
    {
        //key = column title
        //"val" = data in row
        //object = row
        key: "val",
        //i.e.
        FirstName: "Bob",
        LastName: "Barker",
        Age: 800,
        //etc
    },
    //etc
]

嗯。您可以使用
Object.keys()
在数据上进行简单的迭代,它会动态生成一个列对象,其中包含相应的
数据
标题
值:

var columns = [], keys = Object.keys(data[0]);
for (var i=0;i<keys.length;i++) {
   columns.push({ data: keys[i], title: keys[i] });
} 

演示->

让我们看看代码。您要求在代码的特定部分解决编程问题,但没有显示该代码….?如果可以,我会。。。我不理解代码,我可以发布初始化的位置和方式,但dom是如何动态生成的,这已经融入到整个体系结构中,这让意大利面条看起来有些轻描淡写。我确信我不会因为发布了几百行代码而得逞:事实上,我要求的是一个基本的工作实现,用mock data objectOK销毁并重新初始化数据表,数据有哪种格式?它是基于数组的,比如
[[item],[item],…][/code>还是JSON
[{item},{item},…]
?编辑了带有对象示例的OP
var table = null;
function initTable(data) {
    var columns = [], keys = Object.keys(data[0]);
    for (var i=0;i<keys.length;i++) {
        columns.push({ data: keys[i], title: keys[i] });
    }                  
    if (table) {
        table.destroy();        
        $('#example').empty(); 
    }        
    table = $('#example').DataTable({
       data: data,
       columns : columns
    })  
} 
$('#insert1').on('click', function() {
  var data = [
    { FirstName: "Bob", LastName: "Barker", Age: 800 },
    { FirstName: "John", LastName: "Doe", Age: 'N/A' }
  ]    
  initTable(data);
})    
$('#insert2').on('click', function() {
  var data = [
    { Animal : "Lion", Taxon : 'Panthera leo' },
    { Animal : "Cheetah", Taxon : 'Acinonyx jubatus' }
  ]
  initTable(data);
})