7

Mam kilka sortowalnych list połączonych, które są jednocześnie miejscami, które można zrzucić. Problem polega na tym, że po wywołaniu metody cancel w sortowaniu w drop droppable, sortable jest zepsute i nie będzie działać. Przykład: http://jsfiddle.net/zSnBA/10/ spróbuj przenieść numer DIV 102 na drugiej liście: zobaczysz, że zdarzenie cancel zostanie wywołane, ale sortable nie będzie już działać? Jakaś pomoc?

Odpowiedz

6

Polecam nie czyniąc sortable listy Draggable jak dobrze, ale słuchać przypadku receive na sortable anulować zdarzenie:

$('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"); 
     } 
    } 
}); 

Przykład:http://jsfiddle.net/z5X5y/

+1

próbowałem tego, ale ja Nie można go użyć, ponieważ odbiór jest wyzwalany tylko wtedy, gdy element jest przenoszony z jednej listy do drugiej. Potrzebuję go zawsze uruchamiać – albanx

+0

@albanx: Więc potrzebujesz go, aby uruchomić, gdy element zostanie przeniesiony na listę, w której aktualnie znajduje się? –

+0

działa idealnie, dzięki człowieku – Mimouni

Powiązane problemy