2016-08-21 34 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