Sto usando JQuery Sortable. Mi piacerebbe sapere se è possibile, dopo un certo numero di ricorsi, ripristinare il controllo ordinabile allo stato originale, simile a un reset del modulo. L'opzione "annulla" sembra influenzare solo l'ultimo tentativo di ordinamento, non tutti.Come si esegue un reset su un JQuery Sortable
risposta
Memorizzare un riferimento all'ordine di elementi originale, quindi utilizzarlo per riordinarli.
Ora quando si desidera ripristinare l'ordinamento originale, è sufficiente aggiungere i div all'elemento #sortable.
$("#sortable").append(sortableElements);
È possibile memorizzare una copia del documento genitore sul documento pronto e ripristinarlo al ripristino.
Per esempio, se <ul class="parent">
è il vostro elemento ordinabile:
var sortableCache;
$(document).ready(function() {
...
$('ul.parent').sortable({ ... });
...
sortableCache = $('ul.parent').clone(true);
});
on reset, si può fare:
$('ul.parent').replaceWith(sortableCache);
Personalmente, come farlo in questo modo:
$("#sortable").sortable({config...});
var cache = $("#sortable").html();
On Reset
$("#sortable").html(cache).sortable("refresh");
Ho provato a utilizzare .clone() e.children() e persino $ ("# ordinabile> *), ma trovare la cache dell'html() l'opzione migliore.
Nella mia situazione, ho due elenchi collegati. Uno contenente gli elementi correnti che l'utente può ordinare o rimuovere e un altro elenco di elementi disponibili che l'utente può prelevare per aggiungere all'elenco "elemento corrente". Avevo bisogno di un modo per ripristinare tutto allo stato originale. Quanto sopra funziona alla grande.
Questa soluzione non funzionerà se si hanno più elenchi di classi come sorgenti. Sto usando 2 liste da inserire in una - dove il mio selettore è una classe. È un peccato che non ci sia un "reset" ufficiale che conosca la fonte di ogni articolo per tornare indietro. – Antony
questo è il modo semplice
$("#sortable").sortable("cancel");
Questo annullerà solo l'ultima modifica ordinata. Se ordino multipli e poi li eseguo, non funzionerà per tutti loro –
forse memorizzare l'ordine predefinito in un attributo di dati? –