可排序列表,在不同列表之间排序项目

时间:2012-10-25 09:41:57

标签: javascript jquery jquery-ui

在此示例中,http://jqueryui.com/sortable/#connect-lists可以在不同列表和同一列表之间拖放项目。

是否可以在同一列表中取消激活拖放并仅允许不同列表之间的拖放操作?如何?

2 个答案:

答案 0 :(得分:1)

这是我在这里做的最好的:

$("#sortable1, #sortable2").sortable({
    connectWith: ".connectedSortable",
    stop: function(event, ui) {
        if (ui.item[0].parentNode == this) {
            $(this).sortable('cancel');
        }
    }
}).disableSelection();​

演示http://jsfiddle.net/dfsq/J6uM5/

答案 1 :(得分:0)

工作演示 :) http://jsfiddle.net/UnFdU/1/

我在三个事件{@ 1}},recievestart背后建立了一个小逻辑。每次如果列表是相同的列表,那么如果他们可以使用不同的列表,则用户不能将其删除,尝试自己。 下面的小解释

  • 用户开始拖动时stop说:start

  • 只有当项目从连接列表中删除时,
  • canDropThat = false;才会被触发,即如果触发了get,则recieve;因此允许掉线。

  • 最后canDropThat = true;检查标志,如果是正确的标志,则允许丢弃其他拒绝。

希望它适合原因stop

<强>代码

:))