Javascript 在事件发生后更改变量的值
现在在下面的代码中,Javascript 在事件发生后更改变量的值,javascript,variables,object,scope,onchange,Javascript,Variables,Object,Scope,Onchange,现在在下面的代码中,var selected没有改变(我猜它输出空字符串)。我需要您帮助我更改所选变量,以便该值始终为所选选项(在select元素中)。我还希望以后能够在isSelected函数之外的代码中使用更新后的变量 var isSelected = (function(){ var selected = ""; return { add : function(){ $("select").on("change", function(
var selected
没有改变(我猜它输出空字符串)。我需要您帮助我更改所选变量,以便该值始终为所选选项(在select元素中)。我还希望以后能够在isSelected
函数之外的代码中使用更新后的变量
var isSelected = (function(){
var selected = "";
return {
add : function(){
$("select").on("change", function(){
selected = $(this).val()
})
},
output : function(){
alert(selected)
}
}
})()
$("select").on("change", function(){
isSelected.add();
isSelected.output();
})
谢谢,我正在努力学习编程
var isSelected=(函数(){
var selected=“”;
返回{
加:功能(el){
选定=$(el.val();
},
输出:函数(){
警报(选定)
}
}
})()
$(“选择”)。关于(“更改”,功能(e){
e、 预防默认值()
添加(本);
isSelected.output();
})
选择组合
文本1
文本2
文本3
问题绑定到add()
函数中的更改事件。您已经捕获了更改事件,因此当运行add()
时,它会添加另一个更改处理程序,直到触发下一个更改事件后才会触发
解决方案是将所选值作为参数传递给add()
我还希望能够在以后的代码中使用更新的变量
只需添加另一个函数,比如返回值的getSelected()
var isSelected=(函数(){
var selected=“”;
返回{
附加:功能(值){
所选=值;
},
输出:函数(){
警报(选定);
},
getSelected:函数(){
返回选中的;
}
}
})();
$(“选择”)。在(“更改”,函数()上{
isSelected.add(此值);
isSelected.output();
var selected=isSelected.getSelected();
console.log(选中);
})
一
二
三
add方法是否会触发?我不知道当我更改选项时,我得到的只是一个空白的警告框。