我正试图从下拉框中获取价值,但它不起作用。
function izaberiJezik()
{
alert($(this).val());
}
<select onchange="izaberiJezik()" style="max-width:150px">
<option value="-">Language</option>
<option value="en">English</option>
<option value="hr">Hrvatski</option>
</select>
我想使用$(this),因为我在页面上有2个相同的选择框。
答案 0 :(得分:5)
我会使用适当的事件处理程序:
<select id="language" style="max-width:150px">
<option value="-">Language</option>
<option value="en">English</option>
<option value="hr">Hrvatski</option>
</select>
$('#language').on('change', function() {
alert($(this).val());
});
答案 1 :(得分:2)
首先,将所有更改事件内联绑定并不是一个好主意。利用jQuery的功能并在文档中绑定。
HTML
<select id="myselect" style="max-width:150px">
<option value="-">Language</option>
<option value="en">English</option>
<option value="hr">Hrvatski</option>
</select>
<select id="mysecondSelect" style="max-width:150px">
<option value="-">Language</option>
<option value="en">English</option>
<option value="hr">Hrvatski</option>
</select>
脚本
$(document).ready(function () {
$("#myselect, #mysecondSelect").on("change", function(evt) {
alert($(this).val());
});
})
答案 2 :(得分:0)
您需要将this
传递到onchange
函数才能获得对目标select
的引用:
<select onchange="izaberiJezik(this)" style="max-width:150px">
然后你可以使用:
function izaberiJezik(el)
{
alert(el.value);
}
<强> Fiddle Demo 强>
对于jQuery方法,您可以使用 .change() 事件处理程序:
$('select').change(function() {
alert(this.value);
});
<强> Fiddle Demo 强>