2011-07-21 69 views
8

我在試圖找到一個選項的索引。如何找到選擇選項的位置?

例如,我想獲得1當我運行下面的代碼假

JS:

 
$("#test[value='USD']").index() ? 

HTML:

<select id='test'> 
    <option value='CNY'>CNY</option> 
    <option value='USD'>USD</option> 
</select> 

這可能嗎?

回答

13

你是非常接近的,你要在option元素上使用index,不select

var i = $("#test option[value='USD']").index(); 

Gratuitous live example

請注意,如果您select包含optgroup元素,這將打破。如果是這樣,你要通過'option'index

var i = $("#test option[value='USD']").index('option'); 

Live example(我改變了位置,所以它對於例如,第4單元)從Reference

.index() can take a DOM node and returns an index, 
We get back the zero-based position of the list item: 
0

在這種情況下,我有一種直接的方式來計算索引,但現在我不記得它了,但是你可以嘗試創建一個函數,在每個值之間循環,並且每次都會引發一個計數器+1,直到得到$( 「#test」)。val(「USD」)

-2

我肯定

+0

查看@ T.J.的回答以刷新您的記憶;) –

相關問題