jquery - 使用 jQuery 获取所选选项的索引

标签 jquery html select indexing

我对如何从 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>
(...)

为什么会有这种行为? select 有没有可能在分配其 change() 时尚未“准备好”方法?此外,更改 .index().val()正在返回正确的值,所以这让我更加困惑。

最佳答案

第一种方法似乎在我测试的浏览器中有效,但选项标签并不真正对应所有浏览器中的实际元素,因此结果可能会有所不同。

只需使用 DOM 元素的 selectedIndex 属性:

alert($("#dropDownMenuKategorie")[0].selectedIndex);

更新:

从 1.6 版开始,jQuery 有了 prop 方法,可以用来读取属性:

alert($("#dropDownMenuKategorie").prop('selectedIndex'));

关于jquery - 使用 jQuery 获取所选选项的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13556941/

相关文章:

java - 从动态页面获取HTML代码

mysql - 在 mySQL 中,如何为多个表中的每个客户端 ID 选择最新的时间戳?

php - blueimp/jQuery-File-Upload直接上传到S3

javascript - Jquery Slider 不会在最后停止

javascript - jQuery 事件冒泡 : Get original element mouseover (for table row highlighting)

css - 通过 CSS 样式化选择框

mysql - 在mysql存储过程中选择

javascript - 在jquery中同时滚动两个div

html - Bootstrap CTA 按钮右栏全高

javascript - jquery slide div 通过改变边距