1

我正在使用 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']]);

谁能帮我解决这个问题?

4

1 回答 1

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" }
     ]     
});

您在演示中的代码 - > http://jsfiddle.net/s9Lag6mc/

关于您的"aoColumns": [{ "bVisible": false }, { "sTitle": "Description" }, null],我不完全确定您要做什么,但是如果您想隐藏第一列,只需添加bVisible: false到第一aoColumns项,依此类推。


至于你的fnCreatedRow问题:想想看,你正在插入一个对象。所以而不是alert(aData[0])(或其他)简单地

alert(aData.ModifierItemCode);

分叉的小提琴-> http://jsfiddle.net/0aLys2d3/

于 2014-10-17T07:31:49.330 回答