Jquery 在更改时获取所选选项文本

Jquery 在更改时获取所选选项文本,jquery,html,Jquery,Html,我试图做一些非常简单的事情,但对我来说不起作用。我只想在所选选项更改时获取所选选项的文本,如下所示: <select id = "myselect"> <option value = "1">One</option> <option value = "2">Two</option> <option value = "3">Three</option> </select> 简单对吧?问题是

我试图做一些非常简单的事情,但对我来说不起作用。我只想在所选选项更改时获取所选选项的文本,如下所示:

<select id = "myselect">
  <option value = "1">One</option>
  <option value = "2">Two</option>
  <option value = "3">Three</option>
</select>
简单对吧?问题是我刚刚得到零。检查DOM时,我发现更改选定选项不会更改任何选项的选定属性。更改选项是否通常会更新DOM?我很肯定我以前做过。我错过了什么?我正在使用Firefox13.0.1版进行测试

您想使用:所选选择器。看看这个例子


实时演示:

您可以使用selectedIndex属性并通过其索引检索项目。

这应该使用jQuery来实现:

$(this).find("option:selected").html();
$("#myselect").change(function () {
    var text = $(':selected',this).text();
    alert(text);
});​
或者,如果您只想使用普通JavaScript:

$("#myselect").change(function () {
     var text = $(this).find("option[selected]").html();
     alert(text);
});
document.getElementById('myselect').onchange = function() {
    alert(document.getElementById("myselect")[document.getElementById("myselect").selectedIndex].innerHTML);
}
改为

    var text = $(this).find("option:selected").html();

@匿名向下投票伊斯兰-两者都应该有效。从技术上讲,option元素无论如何都不能包含HTML,但同样,这两种元素都可以工作。我会照样更新代码。
    var text = $(this).find("option:selected").html();