2011-07-21 10 views
8

Estoy tratando de encontrar el índice de una opción.¿Cómo encontrar la opción de seleccionar posición?

Por ejemplo, me gustaría obtener 1 cuando corro el siguiente código falso

JS:

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

HTML:

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

es esto posible?

Respuesta

13

Usted estaban muy cerca, que desea utilizar en el elemento indexoption, no el select:

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

Gratuitous live example

Tenga en cuenta que esto va a romper si su select contiene optgroup elementos. Si es así, tendrá que pasar 'option' en index:

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

Live example (He cambiado la posición de lo que es el elemento cuarto para ese ejemplo)

0

de Reference

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

estoy seguro hay una manera directa de contar el índice en tales ocasiones, simplemente no puedo recordarlo ahora, pero podrías intentar crear una función que recorra cada valor, y aumente un contador +1 cada vez, hasta que obtengas $ ("#test"). val ("USD")

+0

Consulte la respuesta de @ T.J. para actualizar su memoria;) –

Cuestiones relacionadas