Справка Jquery: перетаскивание в Sortable, а затем обратно в перетаскивание

У меня есть пул элементов в списке перетаскивания, который подключен к сортируемому с помощью параметра connectToSortable. Теперь я хочу удалить некоторые элементы из этого списка сортировки и переместить их обратно в список перетаскивания. Что-то вроде отмены. Предположим, пользователь перемещает около 5 элементов в список сортировки и решает, что ему нужны только 4 элемента, и решает просто перетащить ненужный элемент из списка сортировки В список перетаскивания. Как мне это сделать БЕЗ добавления ссылки «удалить» в список сортировки. Большое спасибо. Для получения дополнительной информации см. http://the-stickman.com/web-development/javascript/jquery-dropping-items-from-a-draggable-list-to-a-sortable-list/


person Swamy g    schedule 24.03.2009    source источник
comment
Предоставленная вами ссылка не работает, пожалуйста, предоставьте либо ссылку, либо соответствующую часть кода.   -  person karim79    schedule 24.03.2009


Ответы (2)


Этот пример пользовательского интерфейса jQuery похож на то, что вам нужно. Он имеет два связанных списка, и пользователь может перетаскивать элементы между ними.

Но я подозреваю, что ваш сценарий не соответствует примеру. Допустим, у вас есть список перетаскивания, UL с каждым LI, который можно перетаскивать и связывать с другим UL, сделанным сортируемым (см. эту ссылку для примера). Каждый раз, когда вы перетаскиваете что-то из списка перетаскивания, используется клон перетаскиваемого элемента. Используя событие «out», вы можете зарегистрировать, когда вы перетаскиваете элемент за пределы сортируемого списка, и если элемент все еще находится вне, когда срабатывает событие «stop», удалите его из сортируемого списка. Используя свойства ui.position и ui.offset сортируемого виджета, вы можете определить, был ли элемент перетащен в список перетаскивания, прежде чем он будет удален из сортируемого.

Надеюсь это поможет.

person NeilC    schedule 19.06.2009

Я думаю, что самое простое решение - сделать ваш перетаскиваемый список также отбрасываемым и обработать это событие перетаскивания. У меня есть #priority_articles_list для сортировки и li.article для перетаскивания, они внутри #articles. В самом простом случае вы можете просто вызвать ui.draggable.remove();, это должно помочь.

$("#articles").droppable({
  accept: '#priority_articles_list > li',

  drop: function(ev, ui) {
    draggable_id = "#" + ui.draggable.attr("id").replace("priority_", "");
    $(draggable_id).removeClass("shouldnt_drag");
    ui.draggable.remove();
    if ($("#priority_articles_list").children("li").length == 1) {
      $("#priority_articles p").show();
    }
  }
});
person Victor Ivanov    schedule 06.07.2010