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?
7
A
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/
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
@albanx: Quindi è necessario attivarlo quando un elemento viene spostato all'interno dell'elenco in cui si trova attualmente? –
funziona perfettamente, grazie amico – Mimouni