У меня есть какой-то сортируемый связанный список, который в то же время является отбрасываемым. Проблема в том, что когда я вызываю метод отмены sortable в событии droppable, sortable ломается и больше не работает. Пример http://jsfiddle.net/zSnBA/10/ попытаться переместить элемент div номер 102 на второй список: вы увидите, что событие отмены будет вызвано, но сортировка больше не будет работать? Любая помощь?
Вызов $(item).sortable('cancel') в событии Drop для droppable отключает сортировку
Ответы (1)
Я бы рекомендовал не делать сортируемый список перетаскиваемым, а слушать событие receive
на сортируемом, чтобы отменить событие:
$('div.products-list').sortable({
connectWith: '.products-list',
placeholder: 'ui-state-highlight',
items: 'div.product',
revert: 200,
receive: function(event, ui) {
var prod_id = ui.item.attr("prod_id");
/* Equal to 1 is valid because an item was just added to the list: */
if ($(this).find(".product[prod_id='" + prod_id + "']").length > 1) {
ui.sender.sortable("cancel");
}
}
});
Пример: http://jsfiddle.net/z5X5y/
person
Andrew Whitaker
schedule
28.12.2011
Я пробовал это, но я не могу его использовать, потому что получение срабатывает только тогда, когда элемент перемещается из одного списка в другой. Мне нужно, чтобы он всегда срабатывал
- person albanx; 29.12.2011
@albanx: Значит, вам нужно, чтобы он срабатывал, когда элемент перемещается в списке, в котором он находится в данный момент?
- person Andrew Whitaker; 29.12.2011