2014-12-27 118 views
0

希望的行为如何获得select元素的index()?

获取准确索引号<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:

Ergh,才意识到我也许应该补充一个类来选择元素并传递通过对on()方法。仅在相邻元素http://jsfiddle.net/rwone/hsp6jeLh/5/

+0

@Cattla - 你的建议似乎工作,谢谢。 – user1063287

+0

您是否想要选择'select'的索引或所选'option'的索引? – Horen

回答

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> 

http://jsfiddle.net/hsp6jeLh/8/

+0

这仍然是select元素的索引。 – JJJ

+0

是的,它是'select'元素的索引。据我所知,OP要的是'选择'的索引而不是选定的'选项' – Horen

+0

啊,我明白了。 OP想要什么有点不清楚。 – JJJ