如何将行复制到datatable并保存到localStorage?

时间:2017-12-22 15:43:28

标签: javascript jquery html html5

我在完成项目的最后步骤中。

也许这是讨论这个项目的最后一个问题。 但我有一些障碍:

  
      
  1. 我想将行从table1复制到table2,并将table2中的结果行保存到localStorage。

  2.   
  3. 我不知道将行从mainTable [table1]复制到table2然后将其保存到localStorage,就像我的输入表单方法(JSFiddle 1)。

  4.   

我已成功创建从输入表单中保存行表  和存储到localStorage ,我希望复制行创建行功能一样工作,可以保存到localStorage。

var dataSet;
try {
  dataSet = JSON.parse(localStorage.getItem('dataSet')) || [];
} catch (err) {
  dataSet = [];
}
$('#myTable').dataTable({
  "data": [],
  "columns": [{
    "title": "First Name"
  }, {
    "title": "Last Name"
  }, {
    "title": "Action"
  }],
  "bStateSave": true,
  "stateSave": true,
  "bPaginate": false,
  "bLengthChange": false,
  "bFilter": false,
  "bInfo": false,
  "bAutoWidth": false
});
oTable = $('#myTable').DataTable();
for (var i = 0; i < dataSet.length; i++) {
  oTable.row.add(dataSet[i]).draw();
}

$('#Save').click(function() {
    var data = [
      $('#first').val(),
      $('#last').val(),
      "<button class='delete'>Delete</button>"
    ];
    oTable.row.add(data).draw();
    dataSet.push(data);
    localStorage.setItem('dataSet', JSON.stringify(dataSet));

});

JSFiddle 1创建行并保存到localStorage

JSFiddle 2 将行和保存行复制到localStorage [我在这里工作]

任何人都可以帮助我吗?

如果你认为我懒惰。我很感激,因为我不太能够创建一个函数,这是我编程的新东西。但我总是寻找参考资料,为了巩固它,我需要来这里。

如果这个问题错了,请纠正我。

1 个答案:

答案 0 :(得分:2)

你可以像工作示例那样做。在callback函数中,将复制的行推送到copyRows数组,然后将数组保存到dataSet。并将localStorage的数据设置为table2。另请先阅读dataSet中保存的dataSet

<强>更新 您必须为不同的表使用不同的localStorage项。在这里,我使用localStorage格式将数据保存在dataSet_tableid

以下是修改后的localStorage

JS

<强> UPDATED FIDDLE