How to find select option position?
I'm trying to find an option's index.
For example, I would like to get 1 when I run the following fake code
JS:开发者_JS百科
$("#test[value='USD']").index() ?
HTML:
<select id='test'>
<option value='CNY'>CNY</option>
<option value='USD'>USD</option>
</select>
is this possible?
You were very close, you want to use index
on the option
element, not the select
:
var i = $("#test option[value='USD']").index();
Gratuitous live example
Note that this will break if your select
contains optgroup
elements. If so, you'll want to pass 'option'
into index
:
var i = $("#test option[value='USD']").index('option');
Live example (I changed the position so it's the 4th element for that example)
from Reference
.index() can take a DOM node and returns an index,
We get back the zero-based position of the list item:
Im sure there is a straight forward way of counting the index in such occasions i just can't remember it right now, but you could try creating a function that loops between each values, and raises a counter +1 each time, until you get $("#test").val("USD")
精彩评论