我正在使用jquery为jquery数据表创建json格式, 但它给出错误“DataTables warning(table id ='tblDynamicModifierItems2'):从第0行的数据源请求未知参数'0'”
我的Html是
<table id="tblDynamicModifierItems" class="tblDynamicModifierItems table table-hover table-nomargin dataTable table-bordered dataTable-scroller dataTable-tools">
<tbody></tbody>
</table>
我的Jquery代码是
var aaData = [];
var ModifierItemCode = "1";
var Description = "10 cane rum"
aaData.push({
"ModifierItemCode": ModifierItemCode,
"ModifierItem": Description,
"Delete": "Delete"
});
var oTable = $("#tblDynamicModifierItems").dataTable({
"aaData": aaData,
"aoColumns": [{ "bVisible": false }, { "sTitle": "Description" }, null],
});
oTable.fnSort([[1, 'asc']]);
anyOne可以帮我解决这个问题吗?
答案 0 :(得分:1)
您需要使标记正确。 jQuery dataTables对此非常敏感。定义标头<th>
很重要,因此dataTables有机会知道每行数据应该有多少列。
<table id="tblDynamicModifierItems" class="tblDynamicModifierItems table table-hover table-nomargin dataTable table-bordered dataTable-scroller dataTable-tools">
<thead>
<tr>
<th>ModifierItemCode</th>
<th>ModifierItem</th>
<th>Delete</th>
</tr>
</thead>
<tbody></tbody>
</table>
此外,您必须告诉dataTables每个aaData
项目的哪一部分应该与哪个列对应:
var oTable = $("#tblDynamicModifierItems").dataTable({
"aaData": aaData,
"aoColumns": [
{ mDataProp : "ModifierItemCode" },
{ mDataProp : "ModifierItem" },
{ mDataProp : "Delete" }
]
});
您在演示中的代码 - &gt;的 http://jsfiddle.net/s9Lag6mc/ 强>
关于您的"aoColumns": [{ "bVisible": false }, { "sTitle": "Description" }, null],
我不完全确定您要执行的操作,但如果您想要隐藏第一列,只需将bVisible: false
添加到第一个aoColumns
项目,等等。
关于你的fnCreatedRow
问题:想想看,你正在插入一个对象。因此,而不是alert(aData[0])
(或其他)只是
alert(aData.ModifierItemCode);
分叉小提琴 - &gt;的 http://jsfiddle.net/0aLys2d3/ 强>