Как найти выбранный вариант позиции? - PullRequest
9 голосов
/ 21 июля 2011

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

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

JS:

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

HTML:

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

это возможно?

Ответы [ 3 ]

14 голосов
/ 21 июля 2011

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

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

Бесплатный пример из жизни

Обратите внимание, что это сломается, если ваш select содержит optgroup элементов. Если это так, вы захотите передать 'option' в index:

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

Живой пример (я изменил положение, поэтому для этого примера это 4-й элемент)

0 голосов
/ 21 июля 2011

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

0 голосов
/ 21 июля 2011

из Reference

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