如何在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();