function language(value)
{
window.alert(value);
}
<select onchange="language(this.val())">
<option value="Português">Português</option>
<option value="Inglês">Inglês</option>
</select>
为什么这不起作用?
问题不在于范围之外的功能,我使用此代码来测试它不是:
$(document).ready(function(){
language("testing");
});
答案 0 :(得分:1)
为什么不坚持只使用jQuery并执行此操作:
$(document).ready(function () {
$('select').change(function () {
alert(this.value);
});
});
如果您只想使用javascript,请执行以下操作:
<select onchange="language(this.value)"> <!-- Not this.val() -->
<option value="Português">Português</option>
<option value="Inglês">Inglês</option>
</select>
要进行测试,您可以将onchange
事件更改为onchange="alert(this.value)"
答案 1 :(得分:1)
好的,this.val()
不是有效函数.val()
是$(this).val()
属性中需要{j}元素函数{/ 1}}。
onchange
或使用<select onchange="language($(this).val())">
<option value="Português">Português</option>
<option value="Inglês">Inglês</option>
</select>
之类的,
this.value
如果这不能解决问题,您应该使用Chrome开发人员工具或FireBug之类的内容来捕获更改选择时引发的异常。这将使您非常了解在哪里寻找问题。