我正在使用jquery为jquery数据表创建json格式,但它给出错误"DataTables警告(表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']]);
有人能帮我解决这个问题吗?
您需要使标记正确。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" }
]
});
演示中的代码->http://jsfiddle.net/s9Lag6mc/
关于你的"aoColumns": [{ "bVisible": false }, { "sTitle": "Description" }, null],
,我不完全确定你想做什么,但如果你想隐藏第一列,只需将bVisible: false
添加到第一个aoColumns
项目中,以此类推
至于你的fnCreatedRow
问题:想想看,你正在插入一个对象。因此,与其使用alert(aData[0])
(或其他),不如使用
alert(aData.ModifierItemCode);
叉小提琴->http://jsfiddle.net/0aLys2d3/