2013-04-12 1 views
0

Je suis un débutant dans jQuery. J'ai recherché la documentation et stackoverflow, et n'ai pas pu trouver une réponse. J'ai besoin d'annuler la dernière modification dans la liste de tri en cliquant sur un bouton, et cela fonctionne.JQuery .sortable ("cancel") - comment obtenir l'objet qui a été déplacé?

J'ai également besoin de l'élément (ou de son identifiant), qui a été déplacé vers sa position précédente. Comment puis-je le faire?

Le code que j'ai:

<script type="text/javascript"> 
$(function(){ 
    $("#sortable").sortable({ 
    placeholder: "ui-state-highlight", 
    opacity: 0.6 
    }); 
    $("#cancelSort").click(function(){ 
    $("#sortable").sortable("cancel"); 
    }); 
}); 
</script> 

<button id="cancelSort">Cancel Sort</button> 

Merci à l'avance!

Répondre

0

Créez une variable, utilisez stop event et définissez la variable sur ui.item.

$(function(){ 
    var last_el=null, 
     last_id=null; 

    $("#sortable").sortable({ 
     placeholder: "ui-state-highlight", 
     opacity: 0.6, 
     stop: function(event, ui){ 
     last_el = $(ui.item); //element 
     last_id = $(ui.item).attr('id'); //element_id 
     } 
    }); 

    $("#cancelSort").click(function(){ 
    $("#sortable").sortable("cancel"); 
    console.log(last_el, last_id); 
    }); 
}); 

DEMO: http://jsfiddle.net/dirtyd77/Tmdmq/

REMARQUE: Si vous n'êtes pas familier avec console.log, puis passez à ce link.

+0

Dom, merci beaucoup! Cela résout parfaitement le problème. – user2274753

Questions connexes