Javascript 根据选定的HTML按钮更改JS变量的值?

Javascript 根据选定的HTML按钮更改JS变量的值?,javascript,html,function,variables,button,Javascript,Html,Function,Variables,Button,大家好,我正试图根据选择的按钮更改javascript变量的值。比如说 <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')

大家好,我正试图根据选择的按钮更改javascript变量的值。比如说

<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>
b1
b2
var值;
函数changeVal(选项){
如果(选项=='val1'){
值='数字值1'
}else if(选项=='val2'){
value='number value 2'
}
*等以获取更多按钮*
}
随后将使用变量值。 我真的没办法解决这个问题,我要么做得完全错了,要么就差那么一点,但还没完全解决

编辑: 所以仍然有问题,基本上我想返回那个选择值,这样就可以在另一个函数中调用它,例如

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

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

var值。。。
函数转换值//返回选择值
函数useValue(){
警报(选择)//在此处使用选择值
}

注意:忽略语法写得很快。

上述代码在web浏览器中运行良好。问题一定出在变量范围的概念上。或者在使用<代码>值<代码>变量.< /p> 的函数中,请考虑将“选择”变量分配给全局变量,以便它可以在函数之外访问。 示例代码段如下所示:

<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>
b1
b2
显示值
var值=”;
var globalChoice=“”;
函数changeVal(选项){
如果(选项=='val1'){
值='数值1';
}else if(选项=='val2'){
value='number value 2';
}
全球选择=选择;
}
函数显示(){
警报(全球选择);
}

这里到底有什么问题?
变量是否未分配给您想要的值?@biseibutsu因此我稍后在另一个函数中使用该变量,但它似乎没有运行,我上面的代码正确吗?如果是,这意味着我的问题在于我的其他功能,但这是与GIS openlayers相关的,因此必须发布到那里。从您发布的内容来看,这段代码应该可以工作,但我不能确定,因为我不知道它不在哪里运行。@biseibutsu好的,谢谢,我离开了我的计算机,因此无法发布特定的openlayers脚本。但是明天早上我会尝试一下并更新你。很抱歉回复太晚了,所以我仍然有问题,基本上我想在下一步的另一个函数中使用这个变量,但是javascript运行的方式意味着即使按下按钮,“choice”也会保留未定义的值。有什么办法可以解决这个问题吗?谢谢你的快速回复,我会实施的,看看我会怎么做