sortable + draggable demo - 如何访问被删除的项目?

时间:2010-06-14 23:45:39

标签: jquery-ui

我有一个可排序的列表。当一个新项目被放入列表(从一个可拖动的),我想访问它以对它执行一些操作。这就是我所拥有的:

$("#mySortableList").sortable({
    receive: function(event, ui) {
        alert("this is the dropped item: " + ui.item.toString());
    }
}).disableSelection();

所以“ui.item”是被删除的元素,但它不是重复的项目,现在将成为我的列表的一部分。如何访问已删除的新项目?我在这里使用jquery-ui网站的确切演示: http://jqueryui.com/demos/draggable/#sortable

由于

2 个答案:

答案 0 :(得分:4)

您可以在stop事件中获取该项目,并检查它是否来自可拖动(它没有附加句柄,如果它来自可排序的那样),如下所示:

$("#mySortableList").sortable({
    stop: function(event, ui) {
    //check it wasn't here previously
    if(!ui.item.data('tag') && !ui.item.data('handle')) {
        ui.item.data('tag', true); //tag new draggable drops
        alert("this is the dropped item: " + ui.item.toString());
    }
}).disableSelection();

You can see a demo to play/test with here,因为句柄没有被添加,至少不是重要的方式,我们正在标记从可拖动内容中删除的项目,以便在移动到内部时它们不会再次触发警报排序

答案 1 :(得分:0)

我目前正在删除收到的项目,如下所示:

$(this).data().sortable.currentItem.remove();  --now to find its INDEX!