如何在jQuery中的SELECT元素中选择特定的选项?

如何在jQuery中的SELECT元素中选择特定的选项?

如果您知道索引、值或文本。此外,如果您没有直接引用的ID。

这,这个这,这个这,这个都是有用的答案。

示例标记

<div class="selDiv">
  <select class="opts">
    <option selected value="DEFAULT">Default</option>
    <option value="SEL1">Selection 1</option>
    <option value="SEL2">Selection 2</option>
  </select></div>


茅侃侃
浏览 1232回答 3
3回答

手掌心

要按值获取中间选项-元素的选择器是$('.selDiv&nbsp;option[value="SEL1"]')索引:$('.selDiv&nbsp;option:eq(1)')关于已知案文:$('.selDiv&nbsp;option:contains("Selection&nbsp;1")')编辑*如上所述,OP可能是在更改下拉列表的选定项之后。在版本1.6和更高版本中,建议使用PROPORT()方法:$('.selDiv&nbsp;option:eq(1)').prop('selected',&nbsp;true)在旧版本中:$('.selDiv&nbsp;option:eq(1)').attr('selected',&nbsp;'selected')EDIT 2瑞安的评论之后。“选择10”上的匹配可能是不需要的。我发现没有选择器匹配全文,但是滤光器作品:&nbsp;$('.selDiv&nbsp;option') &nbsp;&nbsp;&nbsp;&nbsp;.filter(function(i,&nbsp;e)&nbsp;{&nbsp;return&nbsp;$(e).text()&nbsp;==&nbsp;"Selection&nbsp;1"})EDIT 3*注意$(e).text()因为它可以包含一个换行符,使得比较失败。当选项隐式关闭时(否),就会发生这种情况。</option>(标签):<select&nbsp;...><option&nbsp;value="1">Selection&nbsp;1<option&nbsp;value="2">Selection&nbsp;2 &nbsp;&nbsp;&nbsp;:</select>如果你只是用e.text任何额外的空白,如尾随换行符将被删除,使比较更加健壮。

胡说叔叔

上面的任何一种方法都没有提供我所需要的解决方案,所以我想我会提供对我有用的解决方案。$('#element&nbsp;option[value="no"]').attr("selected",&nbsp;"selected");

天涯尽头无女友

你可以用val()方法:$('select').val('the_value');
打开App,查看更多内容
随时随地看视频慕课网APP