7

ho qualche ordinabili lista collegata, che sono nei luoghi droppable stesso tempo. Il problema è che quando chiamo il metodo cancel di ordinabile nell'evento drop di droppable, l'ordinabile è rotto e non funzionerà più. Esempio http://jsfiddle.net/zSnBA/10/ prova a spostare il numero di divisione 102 nella seconda lista: vedrai che l'evento di cancellazione verrà chiamato ma l'ordinabile non funzionerà più? Qualsiasi aiuto?

risposta

6

Raccomando di non fare l'elenco ordinabile trascinabile pure, ma ascoltare l'evento receive su ordinabili per annullare l'evento:

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

Esempio:http://jsfiddle.net/z5X5y/

+1

Ho provato a farlo, ma io Non posso usarlo perché la ricezione si innesca solo quando un oggetto viene spostato da una lista all'altra. Mi serve per attivare sempre – albanx

+0

@albanx: Quindi è necessario attivarlo quando un elemento viene spostato all'interno dell'elenco in cui si trova attualmente? –

+0

funziona perfettamente, grazie amico – Mimouni

Problemi correlati