您好,我有一个按钮,单击,从数据表中删除一行,然后重绘自身。我尝试了this,但在删除该行时将其数据表恢复为默认设置:
var tbl;
$(document).ready(function() {
tbl = $('#myTable').DataTable({
"bLengthChange": false,
"bFilter": false,
"iDisplayLength": 5,
"columns": [{
"width": "50%"
}, {
"width": "10%"
}, {
"width": "10%"
}, {
"width": "10%"
}, {
"width": "10%"
}],
"responsive": true,
"retrieve": true
});
});
function delete()
tbl.rows($(this).parents('tr')).remove().draw();
}
我也尝试过此方法,但结果相同:
function delete()
$('#myTable').DataTable().rows($(this).parents('tr')).remove().draw();
}
而且我尝试包括表reinitializing但我得到一个错误
function delete() {
var tbl = $('#myTable').DataTable({
"bLengthChange": false,
"bFilter": false,
"iDisplayLength": 5,
"columns": [{
"width": "50%"
}, {
"width": "10%"
}, {
"width": "10%"
}, {
"width": "10%"
}, {
"width": "10%"
}],
"responsive": true,
"retrieve": true
});
tbl.rows($(this).parents('tr')).remove().draw();
}
什么是正确的方法?
最佳答案
您的代码中有一些错别字,但我还没有看到HTML ...但是无论如何,这是一个有效的示例:http://jsbin.com/quhologaba/1/edit
代码段:
$(document).ready(function() {
var tbl = $('#myTable').DataTable({
"bLengthChange": false,
"bFilter": false,
"iDisplayLength": 5,
"responsive": true,
"retrieve": true
});
$('#myTable tbody').on( 'click', '.remove', function () {
alert('clicked');
console.log(tbl);
tbl.row( $(this).parents('tr') ).remove().draw();
} );
});