如何在没有 "Requested unknown parameter" 错误的情况下动态添加行
How to dynamically add a row without "Requested unknown parameter" error
我是 DataTables 新手,在向数据表动态添加新行时遇到问题。
这是我的初始化:
table = $("#college-list").DataTable({
'ajax': {
'url': 'admin/get_college',
'type': 'GET'
},
'columns': [
{ 'data': 'college_abbrev', "bSortable": true },
{ 'data': 'college_name' , "bSortable": true },
{
"mData": null,
"bSortable": false,
"mRender": function(data, type, college) {
return '<button type="button" class="btn btn-primary edit-college table-condensed">Edit</button>'
+'<button data-id="' + college.college_id + '" type="button" class="delete-college btn btn-primary table-condensed" href="">Delete</button>';
}
}
]
});
这是我在添加新行时使用的示例代码(ca
、cn
和 college_id
是变量):
table.row.add( [
{
"college_abbrev": ca,
"college_name": cn,
"button":'<button type="button" class="btn btn-primary edit-college table-condensed">Edit</button>'
+'<button data-id="' + college_id + '" type="button" class="delete-college btn btn-primary table-condensed" href="">Delete</button>'
}
]).draw();
它创建了一行,但除了按钮之外的列都是空的,并且它给出了以下错误:
DataTables warning: table id=college-list - Requested unknown
parameter 'college_abbrev' for row 17
如何正确添加新行?
改用下面的代码:
table.row.add({
"college_abbrev": ca,
"college_name": cn,
"college_id": college_id
}).draw();
您收到 "Requested unknown parameter" 错误,因为您将对象数组传递给 row.add()
,而您应该传递简单对象,请参阅 row.add() 了解更多信息。
此外,您不需要在调用 row.add()
时构建按钮。您的 mRender
函数将为您处理。相反,您需要传递 college_id
因为 mRender
需要它来生成按钮。
通常,您需要以您的 Ajax 脚本 admin/get_college
使用的相同格式将行数据传递给 row.add()
。
我是 DataTables 新手,在向数据表动态添加新行时遇到问题。
这是我的初始化:
table = $("#college-list").DataTable({
'ajax': {
'url': 'admin/get_college',
'type': 'GET'
},
'columns': [
{ 'data': 'college_abbrev', "bSortable": true },
{ 'data': 'college_name' , "bSortable": true },
{
"mData": null,
"bSortable": false,
"mRender": function(data, type, college) {
return '<button type="button" class="btn btn-primary edit-college table-condensed">Edit</button>'
+'<button data-id="' + college.college_id + '" type="button" class="delete-college btn btn-primary table-condensed" href="">Delete</button>';
}
}
]
});
这是我在添加新行时使用的示例代码(ca
、cn
和 college_id
是变量):
table.row.add( [
{
"college_abbrev": ca,
"college_name": cn,
"button":'<button type="button" class="btn btn-primary edit-college table-condensed">Edit</button>'
+'<button data-id="' + college_id + '" type="button" class="delete-college btn btn-primary table-condensed" href="">Delete</button>'
}
]).draw();
它创建了一行,但除了按钮之外的列都是空的,并且它给出了以下错误:
DataTables warning: table id=college-list - Requested unknown parameter 'college_abbrev' for row 17
如何正确添加新行?
改用下面的代码:
table.row.add({
"college_abbrev": ca,
"college_name": cn,
"college_id": college_id
}).draw();
您收到 "Requested unknown parameter" 错误,因为您将对象数组传递给 row.add()
,而您应该传递简单对象,请参阅 row.add() 了解更多信息。
此外,您不需要在调用 row.add()
时构建按钮。您的 mRender
函数将为您处理。相反,您需要传递 college_id
因为 mRender
需要它来生成按钮。
通常,您需要以您的 Ajax 脚本 admin/get_college
使用的相同格式将行数据传递给 row.add()
。