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

如何将数据存储到jquery Datatable中的javascript全局变量,javascript,jquery,arrays,datatables,Javascript,Jquery,Arrays,Datatables,我有一个jquery数据表,它有大量的数据。我正在执行一个操作,selectedcheckbox选中的行将仅绑定在其中。现在我必须重置jquery数据表,即所有记录都应该再次显示。那么应该采取什么样的方法呢?我是否需要将数据存储到全局变量中,然后清除它并再次将该数据分配给Datatable或其他方法 ////////// on document.ready///////// $('#mytable').DataTable(); GlobalTable = $('#mytable').DataT

我有一个jquery数据表,它有大量的数据。我正在执行一个操作,selectedcheckbox选中的行将仅绑定在其中。现在我必须重置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();

我已经尝试了以上几行代码,但它们并没有像预期的那样正常工作。

我不确定代码中不起作用的部分不能用代码片段重现,但我可以提出几点建议:

仅在变量中存储数据:GlobalTable=GlobalTable.data.toArray 清除表后不需要重新绘制,或者添加每行后,只需在完成数据更改后重新绘制 您不需要对行进行迭代,您可以在一个调用中添加所有行 因此,要再次绑定数据,您可以执行以下操作:

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

您可以在此

中看到一个工作示例,说明什么不工作;你能分享一个吗?因为这样很容易调试;没有按预期正常工作。。你能分享一个相同的演示吗?很抱歉,我只能分享上面提到的代码。我有一个table id=mytable,我已经将数据循环到TR中。现在我有一个下拉列表,有两个选项。一个是“查看全部”和“查看选定对象”。选择VIEW SELECTED后,数据绑定成功。但当我选择View All时,它会显示相同的过滤数据。这里我必须再次绑定数据表。这是上面剩下的代码。从这个GlobalTab=GlobalTable.data.toArray中,我得到的数组集合类似于这个数组[129][0…99][100…128],但在JSFIDLE中它只显示单个输出。另外,当我尝试这个-table.rows.addGlobalTab时,GlobalTab包含数组[129]。但它只添加了我为过滤器选择的一些记录。@Puneet_2696717我认为这个数组[0…99][100…128]正是控制台显示大型数组的方式,只是为了简化浏览。此外,如果datatables有过滤器,它将只显示通过过滤器的数据。所有的项目都在datatables中,只是没有显示其中的一些。实际上,我用分页绑定了一个有129行的datatable。并提供了选择复选框。我们有一个下拉菜单来选择-查看所有和查看选定。当我选择[View selected]时,仅绑定选定的行。但是当我选择[View All]时,它没有绑定所有记录,这就是为什么我要求使用此解决方案。很抱歉,如果不复制此问题,我将无法帮助您。也许您可以尝试在JSFIDLE中复制它?