如何在jquery Datatable中将数据存储到javascript全局变量

时间:2016-04-29 04:45:59

标签: javascript jquery arrays datatables

我有一个jquery数据表,它有大量的数据。我正在执行一个选中(选中复选框)行的操作只会在其中绑定。现在我必须重置jquery数据表,即应该再次显示所有记录。那应该是什么方法呢?我是否需要将数据存储到全局变量中,然后将其清除并再次将此数据分配给Datatable或其他方法。

////////// on document.ready/////////
$('#mytable').DataTable();
 GlobalTable = $('#mytable').DataTable();
 GlobalTab = GlobalTable.data();


/////////the below code is for Binding the data again/////////
var table = $('#mytable').DataTable();
table.clear().draw();
for (i = 0; i < GlobalTab.toArray().length; i++) {
     table.row.add(GlobalTab.toArray()[i]).draw();
   }                  
 table.draw();

我尝试过的以上这些行无法按预期正常工作。

1 个答案:

答案 0 :(得分:0)

我不确定您的代码无效(无法使用您的代码重现),但我可以提出一些建议:

  • 仅将数据存储在变量中:GlobalTab = GlobalTable.data().toArray()
  • 清除表格后无需重绘,或者在添加每一行后,只需在完成更改数据后重绘
  • 您不需要遍历行,您可以通过一次调用添加所有行

因此,要再次绑定数据,您可以执行以下操作:

var table = $('#mytable').DataTable();
table.clear();
table.rows.add(GlobalTable);
table.draw();

您可以在此jsfiddle

中看到一个有效的示例