【发布时间】:2016-12-28 07:07:27
【问题描述】:
我正在将 html 表格行作为字符串进行 ajax 加载,将其附加到表格主体并初始化数据表:
// ajax_data.response_message is a string, containing rows like: "<tr><td>1</td><td>Some data</td></tr><td>2</td><td>Some data 2</td></tr>"
contracts_table.find('tbody').empty().append(ajax_data.response_message);
data_table = contracts_table.DataTable({
fixedHeader: {
header: true,
footer: true
},
responsive: true,
aoColumnDefs: [{
'bSortable': false,
'aTargets': ['_nosort']
}],
bAutoWidth: false,
iDisplayLength: 20,
aLengthMenu: [[5, 10, 20, 50, 100], [5, 10, 20, 50, 100]],
}
});
当我在第一页上删除或添加行时,它工作正常:
// rows is an array like: ["1288", "3218", ...]
var remove_rows = function(rows) {
for (var key in rows) {
if (rows.hasOwnProperty(key)) {
console.log('remove: ');
console.log(data_table.row($('.check-single#' + rows[key] + '').closest('tr')).remove());
}
}
data_table.draw(false);
};
// contract_rows is a string, containing rows like: "<tr><td>1</td><td>Some data</td></tr><td>2</td><td>Some data 2</td></tr>"
var add_rows = function(contract_rows) {
var crows = contract_rows.split('</tr>');
for (var key in crows) {
if (crows.hasOwnProperty(key) && crows[key] != "") {
//
var new_row = crows[key] + '</tr>';
console.log('add: ');
console.log(data_table.row.add($(new_row)[0]));
}
}
data_table.draw(false);
};
在其他页面上它成功删除了行,但没有添加新行。我找不到原因。有人可以帮我解决这个问题,我将不胜感激。
【问题讨论】:
标签: jquery datatables