我正在尝试做一些非常简单的事情,但这对我不起作用。我想要做的就是在更改所选选项时获取所选选项的文本,如下所示:
<select id = "myselect">
<option value = "1">One</option>
<option value = "2">Two</option>
<option value = "3">Three</option>
</select>
然后在JavaScript中:
$("#myselect").change(function () {
var text = $(this).find("option[selected]").html();
alert(text);
});
简单吧?问题是我只是变空了。当我检查DOM时,我发现更改所选选项不会更改任何选项的“selected”属性。不更改选项通常会更新DOM吗?我很确定我以前做过这个。我在这里缺少什么?我正在使用FireFox ver 13.0.1进行测试。
答案 0 :(得分:3)
这应该使用jQuery:
$("#myselect").change(function () {
var text = $(':selected',this).text();
alert(text);
});
<强> jsFiddle example 强>
或者,如果您只想使用纯JavaScript:
document.getElementById('myselect').onchange = function() {
alert(document.getElementById("myselect")[document.getElementById("myselect").selectedIndex].innerHTML);
}
<强> jsFiddle example 强>
答案 1 :(得分:2)
您想使用:selected
选择器。查看示例here
$( '#myselect' ).change(function () {
var text = $( this ).children( 'option:selected' ).text();
alert( text );
});
答案 2 :(得分:2)
$(this).find("option:selected").html();
答案 3 :(得分:2)
更改为
var text = $(this).find("option:selected").html();
答案 4 :(得分:0)
您可以使用selectedIndex
属性并按索引检索项目。