如何找到选择位置?

时间:2011-07-21 08:17:28

标签: jquery indexing option

我正在尝试找一个选项的索引。

例如,当我运行以下假代码时,我想获得1

JS:

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

HTML:

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

这可能吗?

3 个答案:

答案 0 :(得分: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个元素)

答案 1 :(得分:0)

来自Reference

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

答案 2 :(得分:-2)

我确定在这种情况下有一种直接的方法来计算索引,我现在就记不住了,但是你可以尝试创建一个在每个值之间循环的函数,并且每次都会提高一个计数器+1,直到你得到$(“#test”)。val(“USD”)