2014-12-27 50 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