2016-05-04 8 views
0

私は初期値で文字列変数を作成しました。ボタンをクリックするたびにこの値が変わります。変数の最後の値を取得するために別のボタンを作成しましたが、クリックするたびに初期値が返されます。クリック時の最終値を取得

変数の最終値はどのようにして取得できますか?この問題はグローバルなあなただけに必要として変数を宣言するために、発生している理由

<button id='button1'>button1</button> 
<button id='button2'>button2</button> 
<button id='buttonSpecific'>buttonSpecific</button> 
<script> 
    var varState = "Initial value" ; 

    $("#button1").click(function() { 
     var varState = "button1" ; 
     console.log(varState) 
    }); 

    $("#button2").click(function() { 
     var varState = "button2" ; 
     console.log(varState) 
    }); 

    $("#buttonSpecific").click(function() { 
     // Get the last value 
     console.log(varState) 
    }); 
</script> 

答えて

2

var varState = "Initial value"; 
 

 
$("#button1").click(function() { 
 
    varState = "button1"; //dont initialize again remove var 
 
}); 
 
$("#button2").click(function() { 
 
    varState = "button2"; //dont initialize again remove var 
 
}); 
 
$("#buttonSpecific").click(function() { 
 
    // Get the last value 
 
    console.log(varState) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id='button1'>button1</button> 
 
<button id='button2'>button2</button> 
 
<button id='buttonSpecific'>button3</button>

いけないあなたがもう一度変数を初期化されているすべてのクリックイベントでは、変数再び

+0

ありがとうございます。 – GeoGyro

+0

@GeoGyro嬉しいことに、あなたはこの記事を回答としてマークするためにチェックマークをつけることができます:) – guradio

1

を初期化するには、thatsのすべてのスクリプトの上に変数を一度宣言します。

<button id='button1'>Button 1</button> 
<button id='button2'>Button 2</button> 
<button id='buttonSpecific'>Button Specific</button> 

<script> 
var varState = "Initial value" ; 

$("#button1").click(function() { 
    varState = "button1" ; 
}); 
$("#button2").click(function() { 
    varState = "button2" ; 
}); 

$("#buttonSpecific").click(function() { 
    console.log(varState) 
}); 
</script> 
+0

ありがとう、とても明らかです。 – GeoGyro

関連する問題