Jos*_*fin 4 javascript jquery datatables
我有一个Web应用程序,您可以在其中将图片拖放到框中。如果将其放在其中,则会将图片的信息添加到数据表中;如果将其拖放到左侧,则会从数据表中删除数据。我想知道是否有一种方法可以根据ID删除行?
$('#pictures')
.dataTable({
"columnDefs": [{
"orderable": false,
"targets": 1
},
{
"orderable": false,
"targets": 3
}
]
});
var t = $('#pictures')
.DataTable();
$("#left")
.droppable({
accept: ".draggable",
drop: function (event, ui) {
console.log("drop");
$(this)
.removeClass("border")
.removeClass("over");
var dropped = ui.draggable;
var droppedOn = $(this);
$(dropped)
.detach()
.css({
top: 0,
left: 0
})
.appendTo(droppedOn);
var $id = $(this)
.children()
.last()
.attr('id');
var rowId = pictures[id].id;
t.row(pictures[$id].id)
.remove()
.draw(false);
}
});
Run Code Online (Sandbox Code Playgroud)
显然,这还不是全部。但是,我认为这足以确定任何问题。
您可以使用DataTable的API删除相应的行:
t.row("your selector here").remove().draw();
Run Code Online (Sandbox Code Playgroud)
在row()你可以使用几种选择的。如果您将行的ID保存在变量中,只需使用
t.row("#"+rowId).remove().draw();
Run Code Online (Sandbox Code Playgroud)
请注意,draw()删除后必须调用,因为由于性能原因,删除后数据表不会重绘自身。