我在更改下拉列值时遇到问题
这里是静态下拉列表,包含各种职业
我的jQuery变量值假设为“Business”。
我需要将它与下拉值进行比较,如果它存在于下拉列表中,则使属性[“selected”=“selected”]
怎么可能
你可以使用下面的代码 -
$("#id-of-drop-down").val("Business");
如果商业价值存在,那么它将被选中。
如果下拉值中的值和文本不同,并且您想要选择值是否与文本匹配,那么您可以使用下面的代码 -
var selectedText="Business";
$('#id-of-drop-down option').map(function () {
if ($(this).text() == selectedText) return this;
}).attr('selected', 'selected');
请尝试以下代码:
var jQvar = "Business";
$('select').find('option').each(function(){
if($(this).attr('value') == jQvar) {
$(this).attr('selected',true);
}
});
这是工作小提琴。 https://jsfiddle.net/77kgqc62/
希望这会帮助你。
一个工作实例
var JQoption = "Option 3";
$(window).on("load", function () {
$('#select2 option').map(function () {
if ($(this).text() == JQoption) return this;
}).attr('selected', 'selected');
});
#select2{
width:300px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet"/>
<select id="select2" class="select2">
<option value="0">--SELECT--</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
</select>