0

我有一个 JSF selectOneMenu,需要使用 jQuery 动态选择选项 2(共 3 个)。我使用$('[id$=tripple_choice]').show(); $('[id$=tripple_choice]').hide();来显示/隐藏整个菜单。

更新:

生成的 HTML 是:

<select name="view:custform:tripple_choice" size="1" class="" id="view:custform:tripple_choice">
  <option value="" selected="true">-- Select --</option>
  <option value="opt1">opt1</option>
  <option value="opt2">opt2</option>
</select>

有任何想法吗?

4

1 回答 1

1

大概是这样的吧?

$('[id$=tripple_choice]').eq(1).show();

:eq您也可以在选择器中使用表达式...

$('[id$=tripple_choice]:eq(1)').show();

...但这实际上是 jQuery 不鼓励的:

因为 :eq() 是 jQuery 扩展而不是 CSS 规范的一部分,所以使用 :eq() 的查询不能利用原生 DOM querySelectorAll() 方法提供的性能提升。为了在现代浏览器中获得更好的性能,请改用 $("your-pure-css-selector").eq(index) 。

更新:在您的情况下,您需要更新selectedIndexHTMLSelectObject 的属性。用这条线就完成了...

$('[id$=tripple_choice]')[0].selectedIndex = 1;
于 2012-12-19T13:54:47.137 回答