所需行为
获取<select>
元素的准确索引号。
当前行为
无论实际索引号如何,都会返回 0
。
的jsfiddle
http://jsfiddle.net/rwone/hsp6jeLh/
HTML
<div class="my_class">
<select>
<option value="none">don't click me</option>
<option value="bar1">bar1</option>
</select>
</div>
<div class="my_class">
<select>
<option value="none">click me</option>
<option value="bar2">bar2 - select me</option>
</select>
</div>
的jQuery
$(document).on("change",".my_class select", function() {
console.log($(this).index());
console.log("Why isn't the above value 1?")
});
编辑01:
呃,刚刚意识到我应该在select元素中添加一个类并将其传递给on()
方法。现在就试试......
答案 0 :(得分:1)
index()
仅适用于相邻元素。如果您删除了中间的结束并打开div
,它就像您期望的那样:
<div class="my_class">
<select>
<option value="none">don't click me</option>
<option value="bar1">bar1</option>
</select>
<select>
<option value="none">click me</option>
<option value="bar2">bar2 - select me</option>
</select>
</div>
答案 1 :(得分:0)
User @ Cattla的建议(似乎已被删除)有效:
http://jsfiddle.net/hsp6jeLh/6/
$(document).on("change",".my_class", function() {
console.log($(this).index());
});