jQuery enregistrer la variable locale pour une utilisation ultérieure dans le code

Est-il possible de sauvegarder ou d’accéder à une variable locale en dehors de sa fonction? Considérons le code ci-dessous:

$( "#droppable2" ).droppable({ activeClass: "ui-state-hover", hoverClass: "ui-state-active", accept: "#draggable3", drop: function( event, ui ) { jdc = $(this).attr("id"); //I need to use this value later $( this ) .addClass( "ui-state-highlight" ); var x = ui.helper.clone(); x.appendTo('body'); var jdi = $("img").attr("id");// I need to use this value later $(this).droppable( 'disable' ); } }); 

Est-il possible d’obtenir les valeurs des deux variables (jdc et jdi ci-dessus) pour une utilisation ultérieure en dehors de la fonction?

Le but ultime est d’obtenir l’identifiant du conteneur et le contenu de l’élément supprimé.

essaye ça:

 jQuery(element).data(key,value); // Store arbitrary data associated with the matched elements. 

ou déclarez votre variable en dehors de la fonction.

 var example; function abc(){ example = "12345"; } abc(); console.log(example); 
 var jdc; var jdi; $( "#droppable2" ).droppable({ activeClass: "ui-state-hover", hoverClass: "ui-state-active", accept: "#draggable3", drop: function( event, ui ) { jdc = $(this).attr("id"); //I need to use this value later $( this ) .addClass( "ui-state-highlight" ); var x = ui.helper.clone(); x.appendTo('body'); jdi = $("img").attr("id");// I need to use this value later $(this).droppable( 'disable' ); } }); 

Vous pouvez toujours simplement les stocker en tant que données sur l’élément:

 $(this).data('jdi', $('img').attr('id')); 

Ensuite, vous pouvez le récupérer à partir de cet élément avec un autre appel à “.data ()”:

 var theSavedJdi = $('whatever').data('jdi');