DataTable().ajax.reload() 未重新加载 table
DataTable().ajax.reload() not reloading table
我正在使用 jQuery 附加函数将行填充到 table 正文中,这工作正常,但是当我尝试从 table 中搜索任何数据时,table被清除。
这是我的代码。
for (i = 0; i < mapping.length; i++) {
var tr = $('<tr>' + '<td>' + ' <input type="checkbox" '
+ ' onchange="selectItem(this);" '
+ (mapping[i]['selected'] == true ? "checked" : "")
+ ' data-el_id="' + mapping[i]['id'] + '">'
+ ' </td>' + ' <td>' + mapping[i]['name'] + ' </td>'
+ ' <td>' + mapping[i]['itemName'] + ' </td>' + ' <td>'
+ mapping[i]['url'] + ' </td>' + ' </tr>');
$("#tableBody").append(tr);
}
你应该使用 DataTable.row.add()。
示例:
$yourDataTables.row.add([
counter + '.1',
counter + '.2',
counter + '.3',
counter + '.4',
counter + '.5']).draw();
您需要遍历数据表 API 才能插入行。我猜你的数据项看起来像这样:
{
"selected": true,
"id": 42,
"name": "test",
"itemName": "item"
}
然后,如果您像这样初始化 table :
var table = $('#example').DataTable({
columns : [
{ data: 'selected',
render: function (data, type, full, meta) {
var input = '<input type="checkbox" onchange="selectItem(this);" ';
input += data == true ? "checked" : "";
input += ' data-el_id="' + full.id + '">';
return input
}
},
{ data: 'name' },
{ data: 'itemName' }
]
});
您可以循环插入所有行:
for (i = 0; i < mapping.length; i++) {
table.row.add(mapping[i]).draw();
}
我正在使用 jQuery 附加函数将行填充到 table 正文中,这工作正常,但是当我尝试从 table 中搜索任何数据时,table被清除。
这是我的代码。
for (i = 0; i < mapping.length; i++) {
var tr = $('<tr>' + '<td>' + ' <input type="checkbox" '
+ ' onchange="selectItem(this);" '
+ (mapping[i]['selected'] == true ? "checked" : "")
+ ' data-el_id="' + mapping[i]['id'] + '">'
+ ' </td>' + ' <td>' + mapping[i]['name'] + ' </td>'
+ ' <td>' + mapping[i]['itemName'] + ' </td>' + ' <td>'
+ mapping[i]['url'] + ' </td>' + ' </tr>');
$("#tableBody").append(tr);
}
你应该使用 DataTable.row.add()。 示例:
$yourDataTables.row.add([
counter + '.1',
counter + '.2',
counter + '.3',
counter + '.4',
counter + '.5']).draw();
您需要遍历数据表 API 才能插入行。我猜你的数据项看起来像这样:
{
"selected": true,
"id": 42,
"name": "test",
"itemName": "item"
}
然后,如果您像这样初始化 table :
var table = $('#example').DataTable({
columns : [
{ data: 'selected',
render: function (data, type, full, meta) {
var input = '<input type="checkbox" onchange="selectItem(this);" ';
input += data == true ? "checked" : "";
input += ' data-el_id="' + full.id + '">';
return input
}
},
{ data: 'name' },
{ data: 'itemName' }
]
});
您可以循环插入所有行:
for (i = 0; i < mapping.length; i++) {
table.row.add(mapping[i]).draw();
}