Как найти позицию выбора варианта?


Я пытаюсь найти индекс опциона.

Например, я хотел бы получить 1, Когда я выполняю следующий поддельный код

JS:

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

HTML:

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

Возможно ли это?

3 8

3 ответа:

Вы были очень близки, вы хотите использовать index на элементе option, а не на элементе select:

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

Безвозмездный живой пример

Обратите внимание, что это будет нарушено, если ваш select содержит элементы optgroup. Если да, то вам нужно будет перейти 'option' в index:
var i = $("#test option[value='USD']").index('option');

Живой пример (я изменил позицию, так что это 4-й элемент для этого примера)

От Reference

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

Я уверен, что есть прямой способ подсчета индекса в таких случаях, я просто не могу вспомнить его прямо сейчас, но вы можете попробовать создать функцию, которая петляет между каждым значением и поднимает счетчик +1 каждый раз, пока вы не получите $("#test").val ("USD")