Javascript 下拉列表值更改存储访问-jquery
我想将我的Javascript 下拉列表值更改存储访问-jquery,javascript,jquery,Javascript,Jquery,我想将我的select下拉框中更改的值存储在字符串中,然后在change()函数外部访问它 我怎样才能做到这一点 HTML 稍微更改了您的代码: var str = ""; $( "select[name='lob-select']" ).change(function () { str = $("select[name='lob-select'] option:selected").val(); console.log(str); //this works })
select
下拉框中更改的值存储在字符串中,然后在change()
函数外部访问它
我怎样才能做到这一点
HTML
稍微更改了您的代码:
var str = "";
$( "select[name='lob-select']" ).change(function () {
str = $("select[name='lob-select'] option:selected").val();
console.log(str); //this works
});
// alert(str); //this doesnt on change (THIS HAPPENS ONCE..
此处的警报仅在页面加载时发生,因为您尚未将其包装到任何事件中
$(':input[type=button]').click(function(){
//to show that STR is now changed every time just click this button at any time.
alert(str);
});
如果你把它放在一个事件中,你会看到每当你调用这个事件(在这个例子中是一个按钮点击),你会看到它每次改变都会更新。。我还删除了代码中额外的.change()部分。。这并没有什么意义。
alert(str)
在页面加载时只调用一次,因此它看起来“从未”更改。在该事件下仅执行change
处理程序内的代码。这是否意味着我无法访问.change()外的str?如果是在另一个函数中?不,只要select上的change
事件设置了str
值,这将起作用,只是您的代码示例没有这样做。
var str = "";
$( "select[name='lob-select']" ).change(function () {
str = $("select[name='lob-select'] option:selected").val();
console.log(str); //this works
});
// alert(str); //this doesnt on change (THIS HAPPENS ONCE..
$(':input[type=button]').click(function(){
//to show that STR is now changed every time just click this button at any time.
alert(str);
});