Javascript 如何在onchange调用后更新全局值?
我只需单击按钮即可运行此函数。每次我更改smth并将值存储在上时,我希望它每次都存储在全局变量上。但事实并非如此Javascript 如何在onchange调用后更新全局值?,javascript,loops,variables,global-variables,Javascript,Loops,Variables,Global Variables,我只需单击按钮即可运行此函数。每次我更改smth并将值存储在上时,我希望它每次都存储在全局变量上。但事实并非如此 function ChangeStuff() { var localVariable; $("#loc").change(function() { $("select option:selected").each(function() { Selected = $("#loc").find("option:selected").text(); }); arr
function ChangeStuff() {
var localVariable;
$("#loc").change(function() {
$("select option:selected").each(function() {
Selected = $("#loc").find("option:selected").text();
});
arr.forEach(function(locItem) {
if (Selected === locItem.s) {
Selected1 = locItem._id;
}
});
a = Selected1;
//inside here shows correctly
console.log(a);
//apple //banana according to what i chose
}).change();
}
//here the global variable a is still 0;
console.log(a);
//0
//i press continue to fire the function
//so everytime it changes I want it to update
这就是我启动函数的地方
<button data-ver="1" id="Continue" onclick="ChangeStuf();">Continue</button>
<select class="wide-control form-control default" id="locations" >
<option>Apple</option>
<option>Pear</option>
<option>Banana</option>
<option>Orange</option>
</select>
继续
苹果
梨
香蕉
橙色
当我在select上指定函数onchange-“”时,它会给我一个无限循环您不会在函数中的任何点将新值重新指定给
a
。所以,这不会改变
想想
a=selected1代码>如“a”这样的读数被指定为“Selected1”。和Selected1=a代码>反之亦然。这对我很有帮助:)Selected1=a代码>与执行a=Selected1不同代码>显示的任何内容都不会改变a
@charlietfl的值。我试图这样修复它,但它仍然显示0我们不知道arr
是什么。创建一个重现问题的演示我们也不知道调用ChangeStuff()
时是否或在何处调用,或者在代码运行时是否选择了任何内容“此处全局变量a仍然为0;”是什么意思?“这里”到底在哪里?是否这部分代码只是在发生任何更改之前(以及更新代码运行之前)执行的?