DataTable JQuery 如何根据 ID 从表中删除一行?

新手上路,请多包涵

我有一个 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);
        }
    });

这显然不是全部;但是,我认为这足以确定任何问题。

原文由 Joshua Alcott-Griffin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 349
1 个回答

您可以使用 DataTable 的 API 删除相应的行:

 t.row("your selector here").remove().draw();

row() 你可以使用 几种选择器。如果您将行的 ID 保存在变量中,只需使用

t.row("#"+rowId).remove().draw();

请注意,您必须在删除后调用 draw() ,因为由于性能原因,数据表在删除后不会重新绘制自身。

原文由 Sebastianb 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题