我希望有3个列表,列表A中的项目或列表B应该能够移动到列表C但不能从列表B移动到列表A,反之亦然。此外,列表C中的项目如果最初来自列表A则不能移动到列表B,如果列表A来自列表B,则列表A也相同。在我尝试解决此问题时,列表A中的所有项目都有一个特定的类别和列表B中的项目是另一个类。
我到目前为止的代码是:
$(function () {
$("ul").sortable({
connectWith: "ul",
beforeStop: function (ev, ui) {
if ($(ui.item).hasClass('ui-state-default') && $(ui.placeholder).parent()[0] == $HERE) {
$(this).sortable('cancel');
}
}
});
我在哪里“HERE”是我试图插入这种情况的地方。现在我只是试图将限制放在一个列表中,因为如果我可以让它工作第二个应该很容易。
答案 0 :(得分:0)
我认为你应该使用draggable / droppable组合而不是sortable,因为你已经尝试使用了许多已经实现的逻辑。因此,列表A和B将具有可拖动元素,列表C可放置。
droppable有一个'accept'选项,您可以在其中设置可以删除的元素的css选择器过滤器。
{ accept: ".only-these" }