如何在datatables jquery中添加多行

我使用https://datatables.net/reference/api/rows.add%28%29链接工作,但数据显示表为[object,object] 。 如何将对象显示为字符串。 我使用过JSON.stringify(obj)它也无法正常工作。

HTML

 
Year Month Savings
2012 January $100
2012 February $80

JS

 $('#addRows').click(); var table3 = $('#exampleTable').DataTable(); $('#addRows').on( 'click', function () { table3.row.add( [ { "Year": "Tiger Nixon", "Month": "System Architect", "Savings": "$3,120" }, {"Year": "Tiger Nixon", "Month": "System Architect", "Savings": "$3,120" }] ).draw(); }); 

我在这个FIDDLE中创建了两个样本。

如果要在行中使用对象,则应在数据表init中添加列:

JS

 var table3 = $('#exampleTable').DataTable({ data:[{ "Year": "2012", "Month": "January", "Savings": "$100" }, { "Year": "2012", "Month": "February", "Savings": "$80" }], columns:[{data: 'Year'}, {data: "Month"}, {data: "Savings"}] }); 

但是如果你不想这样做,可以在行中使用下一个语法add:

JS

 table4.rows.add( [[ "Tiger Nixon", "System Architect","$3,120" ], ["Tiger Nixon", "System Architect", "$3,120" ]] ).draw(); 

看起来小提琴它更有用。

我也遇到了这个问题 – 我发现文档不太清楚。 当我传递自己动态创建的对象数组时,他们在https://datatables.net/reference/api/rows.add()上的示例不起作用。

为了使其工作,您必须在实例化DataTables时指定列的名称。

无论如何,以下是一个有效的解决方案。

 var DataTable = $('#tableName').DataTable({ iDisplayLength: 15, // number of rows to display columns: [ { data: 'id' }, { data: 'name' }, { data: 'car' }, ] }); // assume this is a dynamically created array of objects var persons = [ { id: 1, name: 'John', car: 'Mercedes', }, { id: 2, name: 'Dave', car: 'BMW', }, { id: 3, name: 'Ken', car: 'Jeep', }, ]; DataTable.rows.add(persons).draw(); 

试试这个 `

 var data = [ {id : 1, name : 'John'}, {id : 2, name : 'Joe'}, {id : 3, name : 'Mathan'}, {id : 4, name : 'Mani'}, {id : 4, name : 'Karthik'} ]; 

//初始化数据表

 var DataTable = $('#tableName').DataTable({ iDisplayLength: 15, columns: [ { data: 'id' }, { data: 'name' }, ] }); DataTable.rows.add(data).draw();