将DataTable函数合并在一起

时间:2016-10-01 13:37:07

标签: javascript datatable

我有以下代码,其功能符合预期:

var $datatable = $('#datatable-keytable');
var item = [["myName","myNumber"],
            ["myName2","myNumber2"]];

$datatable.DataTable({
    keys: true
});

for(int i in item) {
    $datatable.DataTable().row.add([
       item[i][0],
       item[i][1]
    ]).draw();
}

然而我收到错误: Cannot reinitialize DataTable请参阅:https://datatables.net/manual/tech-notes/3

如何将这两个功能合并在一起以防止出现此错误?

1 个答案:

答案 0 :(得分:0)

您需要使用dataTable.api()

  

DataTables有一个扩展的API,可用于访问表中包含的数据,并在表初始化完成后操作表。

由于您使用的是 DataTable ,因此您已经有了一个API实例,请尝试使用

$datatable.api().row.add([
   item[i][0],
   item[i][1]
]).draw();

编辑: 你需要像这样初始化它

var $dataTable = $('#datatable-keytable').dataTable({
  keys: true
});

您也可以使用retrive

  

DataTables作为检索选项,可用于告诉DataTables您知道初始化后初始化选项无法更改,如果发生这种情况,您只需要返回DataTable实例。

var $datatable = $('#datatable-keytable');

$datatable.DataTable( {
  retrieve: true
} ).row.add([
              item[i][0],item[i][1]
           ]).draw();