如果您知道索引、值或文本。如果您没有直接引用的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>

当前回答

谢谢你的提问。希望这段代码对您有用。

var val = $("select.opts:visible option:selected ").val();

其他回答

有一些建议为什么你应该使用prop而不是attr。肯定要使用prop,因为我已经测试了这两种情况,attr会给你奇怪的结果,除了最简单的情况。

我想要一个解决方案,从任意分组的选择选项中自动选择同一页面上的另一个选择输入。例如,如果你有两个下拉列表-一个用于国家,另一个用于大洲。在这种情况下,选择任何国家都会自动在另一个大陆下拉列表中选择该国家的大陆。

$(“#country”).on(“change”,function(){//获取大陆var originLocationRegion=$(this).find(“:selected”).data(“originregion”);//用道具正确选择大陆$('#continental option[value=“'+originLocationRegion+'”]').prop('selected',true);});$(“#country2”).on(“change”,函数(){//获取大陆var originLocationRegion=$(this).find(“:selected”).data(“originregion”);//用attr错误地选择大陆$('#continent2选项[value=“'+originLocationRegion+'”]').attr('selected',true);});<link href=“https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css“rel=”stylesheet“/><script src=“https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js“></script><div class=“container”><表单><h4 class=“text success”>支持好东西;)</h4><div class=“form row”><div class=“form group col-md-6 col-sm-6”><label>国家</label><select class=“custom select country”id=“country”><option disabled selected>选择国家</option>阿富汗</option><option data origin region=“Antarcia”value=“Antatria”>Antarcia</option>澳大利亚</option>奥地利</option><option数据来源地区=“亚洲”value=“孟加拉国”>孟加拉国</option><option数据来源地区=“南美”value=“巴西”>巴西</option><option数据来源地区=“非洲”value=“喀麦隆”>喀麦隆</option><option数据来源地区=“北美”value=“加拿大”>加拿大</option><option数据来源地区=“南美”value=“智利”>智利</option><option数据来源地区=“亚洲”值=“中国”>中国</option><option数据来源地区=“南美”value=“厄瓜多尔”>厄瓜多尔</option><option data origin region=“澳大利亚”value=“斐济”>斐济</option><option数据来源地区=“北美”value=“墨西哥”>墨西哥</option><option数据来源地区=“澳大利亚”value=“新西兰”>新西兰</option><option数据来源地区=“非洲”value=“尼日利亚”>尼日利亚</option><option data origin region=“欧洲”value=“葡萄牙”>葡萄牙</option><option数据来源地区=“非洲”value=“塞舌尔”>塞舌尔</option><option数据来源地区=“北美”value=“美国”>美国</option><option data origin region=“Europe”value=“United Kingdom”>英国</option></选择></div><div class=“form group col-md-6 col-sm-6”><label>欧洲大陆</label><select class=“custom select”id=“continental”><option disabled selected>选择大陆</option><option disabled value=“Africa”>非洲</option><option disabled value=“Antartica”>心外膜</option><option disabled value=“Asia”>亚洲</option><option disabled value=“Europe”>欧洲</option><option disabled value=“北美”>北美</option><option disabled value=“Australia”>澳大利亚</option><option disabled value=“南美”>南美</option></选择></div></div></form><小时><表单><h4 class=“text danger”>将坏东西归因于属性</h4><div class=“form row”><div class=“form group col-md-6 col-sm-6”><label>国家</label><select class=“custom select country-2”id=“country 2”><option disabled selected>选择国家</option>阿富汗</option><option data origin region=“Antarcia”value=“Antatria”>Antarcia</option>澳大利亚</option>奥地利</option><option数据来源地区=“亚洲”value=“孟加拉国”>孟加拉国</option><option数据来源地区=“南美”value=“巴西”>巴西</option><option数据来源地区=“非洲”value=“喀麦隆”>喀麦隆</option><option数据来源地区=“北美”value=“加拿大”>加拿大</option><option数据来源地区=“南美”value=“智利”>智利</option><option数据来源地区=“亚洲”值=“中国”>中国</option><option数据来源地区=“南美”value=“厄瓜多尔”>厄瓜多尔</option><option data origin region=“澳大利亚”value=“斐济”>斐济</option><option数据来源地区=“北美”value=“墨西哥”>墨西哥</option><option数据来源地区=“澳大利亚”value=“新西兰”>新西兰</option><option数据来源地区=“非洲”value=“尼日利亚”>尼日利亚</option><option data origin region=“欧洲”value=“葡萄牙”>葡萄牙</option><option数据来源地区=“非洲”value=“塞舌尔”>塞舌尔</option><option数据来源地区=“北美”value=“美国”>美国</option><option data origin region=“Europe”value=“United Kingdom”>英国</option></选择></div><div class=“form group col-md-6 col-sm-6”><label>欧洲大陆</label><select class=“custom select”id=“continent2”><option disabled selected>选择大陆</option><option disabled value=“Africa”>非洲</option><option disabled value=“Antartica”>心外膜</option><option disabled value=“Asia”>亚洲</option><option disabled value=“Europe”>欧洲</option><option disabled value=“北美”>北美</option><option disabled value=“Australia”>澳大利亚</option><option disabled value=“南美”>南美</option></选择></div>

如代码片段所示,prop每次都能正常工作,但一旦选择了一次选项,attr就无法正确选择。

关键点:我们通常对属性的属性感兴趣,所以在大多数情况下使用prop比attr更安全。

$('select').val('se_value');查找正确的解决方案,如果您有数据表行,则:

$row.find('#component').val('All');

谢谢你的提问。希望这段代码对您有用。

var val = $("select.opts:visible option:selected ").val();

通过值获取中间选项元素的选择器是

$('.selDiv option[value="SEL1"]')

对于索引:

$('.selDiv option:eq(1)')

对于已知文本:

$('.selDiv option:contains("Selection 1")')

编辑:如上所述,OP可能是在更改下拉列表中的选定项目之后。在1.6及更高版本中,建议使用prop()方法:

$('.selDiv option:eq(1)').prop('selected', true)

在旧版本中:

$('.selDiv option:eq(1)').attr('selected', 'selected')

编辑2:瑞安发表评论后。“选择10”上的匹配可能不需要。我找不到与全文匹配的选择器,但过滤器可以工作:

 $('.selDiv option')
    .filter(function(i, e) { return $(e).text() == "Selection 1"})

EDIT3:使用$(e).text()时要小心,因为它可能包含导致比较失败的换行符。当选项隐式关闭(无</option>标记)时,会发生这种情况:

<select ...>
<option value="1">Selection 1
<option value="2">Selection 2
   :
</select>

如果您只使用e.text,任何多余的空格(如尾随换行符)都将被删除,从而使比较更加稳健。

我会选择:-

$("select#my-select option") .each(function() { this.selected = (this.text == myVal); });