【发布时间】:2012-11-13 11:06:47
【问题描述】:
我对如何从 HTML <select> 项目中获取选定选项的索引有点困惑。
在this 页面上描述了两种方法。但是,两者总是返回-1。这是我的 jQuery 代码:
$(document).ready(function(){
$("#dropDownMenuKategorie").change(function(){
alert($("#dropDownMenuKategorie option:selected").index());
alert($("select[name='dropDownMenuKategorie'] option:selected").index());
});
});
在html中
(...)
<select id="dropDownMenuKategorie">
<option value="gastronomie">Gastronomie</option>
<option value="finanzen">Finanzen</option>
<option value="lebensmittel">Lebensmittel</option>
<option value="gewerbe">Gewerbe</option>
<option value="shopping">Shopping</option>
<option value="bildung">Bildung</option>
</select>
(...)
为什么会有这种行为?在分配其change() 方法时,select 是否有可能没有“准备好”?此外,将.index() 更改为.val() 会返回正确的值,这让我更加困惑。
【问题讨论】:
-
这么老的问题,但真正的问题是当 select 上有
id时使用的[name=]。下面的[0].selectedIndex和option:selected答案都可以。
标签: jquery html select indexing