【发布时间】:2011-07-21 08:17:28
【问题描述】:
我正在尝试查找选项的索引。
例如,我想在运行下面的假代码时得到 1
JS:
$("#test[value='USD']").index() ?HTML:
<select id='test'>
<option value='CNY'>CNY</option>
<option value='USD'>USD</option>
</select>
这可能吗?
【问题讨论】:
我正在尝试查找选项的索引。
例如,我想在运行下面的假代码时得到 1
JS:
$("#test[value='USD']").index() ?HTML:
<select id='test'>
<option value='CNY'>CNY</option>
<option value='USD'>USD</option>
</select>
这可能吗?
【问题讨论】:
您非常接近,您想在option 元素上使用index,而不是select:
var i = $("#test option[value='USD']").index();
请注意,如果您的 select 包含 optgroup 元素,这将中断。如果是这样,您需要将'option' 传递给index:
var i = $("#test option[value='USD']").index('option');
Live example(我更改了位置,因此它是该示例的第 4 个元素)
【讨论】:
.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")
【讨论】: