我有以下代码,其功能符合预期:
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
如何将这两个功能合并在一起以防止出现此错误?
答案 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();