2016-08-21 35 views
1

嗨,大家好,我想改變一個JavaScript變量的值取決於選擇的按鈕。例如,根據所選HTML按鈕更改JS變量的值?

<button id="1" onclick="changeVal('val1')">b1</button> 
<button id="2" onclick="changeVal('val2')">b2</button> 

<script> 
var value; 
function changeVal(choice) { 
    if (choice == 'val1') { 
    value = 'number value 1' 
    } else if (choice == 'val2'){ 
    value ='number value 2' 
    } 
*etc for more buttons* 
} 
</script> 

隨後將使用該變量值。 不能真的把我的頭圍繞着這個問題,即使它做得完全錯誤或如此接近,但不能完全到達那裏。

編輯: 因此,仍然有麻煩,基本上我想返回該選擇值,因此可以在另一個函數中調用,例如

<script> 
var value... 
function changeval... //Return choice value out 

function useValue() { 
    alert(choice) //Use choice value here 
} 

note忽略快速寫入語法。

+0

究竟是什麼問題? 'value'變量是不是分配給你想要的值? – biseibutsu

+0

@biseibutsu所以即時在另一個函數中使用該變量,但它似乎並沒有運行,是我的代碼上面正確?如果是這樣,這意味着我的問題是與我的其他功能,但這是相關的GIS開放層,因此將不得不在那裏。 – cmca

+0

從你發佈的代碼應該工作,但我不能肯定地說,因爲我不知道它不運行。 – biseibutsu

回答

1

上述代碼在Web瀏覽器中運行完美。問題必須與變量範圍的概念一致。或者在使用value變量的函數中。

+0

對於遲到的回覆感到遺憾,所以即時通訊仍然有問題,基本上我想在另一個函數中使用該變量,但是javascript運行的方式意味着即使一旦按下按鈕,'選擇'也會保持未定義的值。 任何方法? – cmca

1

請考慮將「選擇」變量賦值給一個全局變量,以便它可以在函數外部訪問。 示例代碼片段如下:

<button id="1" onclick="changeVal('val1')">b1</button> 
<button id="2" onclick="changeVal('val2')">b2</button> 
<button id="3" onclick="display()">Display Value</button> 
<script> 
    var value = ""; 
    var globalChoice =""; 
    function changeVal(choice) { 
     if (choice == 'val1') { 
      value = 'number value 1'; 
     } else if (choice == 'val2'){ 
      value ='number value 2'; 
     } 
     globalChoice = choice; 
    } 
    function display(){ 
     alert(globalChoice); 
    } 

</script> 
+0

感謝您的快速回復,將實施並看看我如何去 – cmca