我想将更改后的值存储在字符串中的select
下拉框中,然后在change()
函数之外访问它。
我怎么能做到这一点?
<select name="lob-select" class="dk" id="lobSelect">
<option value="one" id="1">one</option>
<option value="two" id="2">two</option>
</select>
var str = "";
$( "select[name='lob-select']" ).change(function () {
str = $("select[name='lob-select'] option:selected").val();
console.log(str); //this works
}).change();
alert(str); //this doesnt on change
答案 0 :(得分:0)
稍微更改了您的代码:
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()你的代码的一部分..没有多大意义。