関数の外でローカル変数を保存またはアクセスできる方法はありますか?以下のコードを検討してください:
$( "#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' );
}
});
関数の外で後で使用するために2つの変数(上記のjdcとjdi)の値を取得する方法はありますか?
最終的な目標は、ドロップ可能なコンテナのIDとドロップされた要素のコンテンツを取得することです。
これを試して:
jQuery(element).data(key,value);
// Store arbitrary data associated with the matched elements.
または、関数の外で変数を宣言します。
var example;
function abc(){
example = "12345";
}
abc();
console.log(example);
あなたはいつもそれらを要素のデータとして保存することができます:
$(this).data('jdi', $('img').attr('id'));
次に、「。data()」をもう一度呼び出すことで、その要素からそれを取得できます。
var theSavedJdi = $('whatever').data('jdi');
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' );
}
});