【发布时间】:2011-08-19 09:37:36
【问题描述】:
在我的 index.html 中,我有一个选择下拉菜单:
<select id="car">
<option value="bmw">BMW</option>
<option value="toyota">TOYOTA</option>
</select>
我的 js:
var c = $('#car');
var selection;
c.change(function(){
if(c.val()==='bmw'){
selection = 'BMW';
}else if(c.val()==='toyota'){
selection = 'TOYOTA';
}
});
console.log(c.val());
console.log(selection);
第一次加载页面时,初始选择是BMW,我得到控制台输出“BMW”这很好,然后我选择“TOYOTA”,但两个控制台输出仍然是“BMW”。
如何获取当前
jQuery .change(...) 函数外选择的值在选择被更改后??
______错字已修复____________
car.val() 和 Selection 都是我在帖子中的错字,在我的代码中我确实使用了selection 和c.val()。
我的观点是如何从 jQuery change() 函数中获取当前选择值。请不要再讨论我的错字。谢谢。
【问题讨论】:
-
您在 c.change(...) 中使用的汽车变量来自哪里?我在您发布的代码中的任何地方都看不到它声明。 Alo,您声明了一个变量 Selection,但稍后使用 selection - 据我所知,javascript 区分大小写。
-
我看到的第一件事:
var Selection;应该是var selection;这实际上可能是你的问题。另一件事:console.log 是否又被调用了? -
您应该使用
c.val(),而不是car.val()。变量car不存在。 -
嗨,car.val() 是我的错字,我确实在我的代码中使用了 c.val()。对不起。
标签: javascript jquery jquery-selectors javascript-framework jquery-events