Javascript 更新动态标题数据表

Javascript 更新动态标题数据表,javascript,jquery,datatables,Javascript,Jquery,Datatables,我正在使用数据表版本1.10.16。我正在试着做一个透视表。根据选择的选项,它会显示一些列或其他列。但当我选择一个选项,然后选择其他标题时,它们无法正常工作 如本例所示: var列,点击=0,表格; $('show#u table')。在('click',function(){ 如果(表){ 表1.clear(); } 如果(单击==0){ columns=[{'sTitle':'Column 1'},{'sTitle':'Column 2'},{'sTitle':'Column 3'},{'

我正在使用数据表版本1.10.16。我正在试着做一个透视表。根据选择的选项,它会显示一些列或其他列。但当我选择一个选项,然后选择其他标题时,它们无法正常工作

如本例所示:

var列,点击=0,表格;
$('show#u table')。在('click',function(){
如果(表){
表1.clear();
}
如果(单击==0){
columns=[{'sTitle':'Column 1'},{'sTitle':'Column 2'},{'sTitle':'Column 3'},{'sTitle':'Column'}];
}否则{
columns=[{'sTitle':'Column 1'},{'sTitle':'Column 2'}];
}  
table=$(“#示例”).DataTable({
dom:“+
"" +
"",
回答:是的,
分页:false,
列:列,
语言:{
zeroRecords:'空',
infoEmpty:'Empty',
搜索:“\u输入”,
searchPlaceholder:“搜索”,
},
毁灭:真的
//检索:true
});
点击++;
});
如果单击一次,它会显示4列,但第二次单击时,它只能显示2列


我试图销毁、清除()数据表,但没有结果

问题在于
table.destroy()
基本上删除了所有的数据表格式,但保留了html中未触及的“原始”表。和
table.clear()
只删除行,而不删除标题。因此,您只需要销毁数据表,然后在重新构建之前清空该表

if(table){
  table.destroy();
  $('#example').empty()
}
下面是一个工作片段:

var列,点击=0,表格;
$('show#u table')。在('click',function(){
如果(表){
表1.destroy();
$('#示例').empty()
}
如果(单击==0){
columns=[{'sTitle':'Column 1'},{'sTitle':'Column 2'},{'sTitle':'Column 3'},{'sTitle':'Column 4'}];
}否则{
columns=[{'sTitle':'Column 1'},{'sTitle':'Column 2'}];
}  
table=$(“#示例”).DataTable({
dom:“+
"" +
"",
回答:是的,
分页:false,
列:列,
语言:{
zeroRecords:'空',
infoEmpty:'Empty',
搜索:“\u输入”,
searchPlaceholder:“搜索”,
}
});
点击++;
});

展示台

问题在于
table.destroy()
基本上删除了所有的数据表格式,但保留了html中未触及的“原始”表。和
table.clear()
只删除行,而不删除标题。因此,您只需要销毁数据表,然后在重新构建之前清空该表

if(table){
  table.destroy();
  $('#example').empty()
}
下面是一个工作片段:

var列,点击=0,表格;
$('show#u table')。在('click',function(){
如果(表){
表1.destroy();
$('#示例').empty()
}
如果(单击==0){
columns=[{'sTitle':'Column 1'},{'sTitle':'Column 2'},{'sTitle':'Column 3'},{'sTitle':'Column 4'}];
}否则{
columns=[{'sTitle':'Column 1'},{'sTitle':'Column 2'}];
}  
table=$(“#示例”).DataTable({
dom:“+
"" +
"",
回答:是的,
分页:false,
列:列,
语言:{
zeroRecords:'空',
infoEmpty:'Empty',
搜索:“\u输入”,
searchPlaceholder:“搜索”,
}
});
点击++;
});

展示台

很高兴我找到了这个答案。感谢您对destroy()和clear()的解释。它帮助我避免了未来的错误。很高兴我找到了这个答案。感谢您对destroy()和clear()的解释。它帮助我避免了未来的错误。