如果下拉选择选项不包含另一个下拉选择列表中的值,我尝试选择该下拉选择选项的空(第一个)值:
$('#FirstDropdown').change(function() {
if ( $('#SecondDropdown option').filter(':contains(' + this.value + ')') ){
$('#SecondDropdown option').filter(':contains(' + this.value + ')').prop('selected',true);
}else{
$("#SecondDropdown option[value='']").prop('selected',true);
}
});
如果#SecondDropdown option
包含this.value
,则此代码可以正常工作,但如果不包含,则else语句不会重置下拉列表。
请问有什么建议吗?
编辑:下拉列表如下所示:
<select id="FirstDropdown">
<option value="" selected="selected"> </option>
<option value="VAL1">First Value</option>
<option value="VAL2">Second Value</option>
<option value="VAL3">Third Value</option>
<option value="VAL4">Fourth Value</option>
</select>
<select id="SecondDropdown">
<option value="-1"> </option>
<option value="12">VAL1 SELECT OPTION</option>
<option value="15">VAL2 SELECT OPTION</option>
<option value="10">VAL3 SELECT OPTION</option>
</select>
编辑:添加了 JsFiddle .
最佳答案
您没有任何具有 value=''
的选项元素。您需要使用 $("#SecondDropdown option[value='-1']").prop('selected',true);
。您还需要将 if 语句中的条件更改为 this.value!=''
:
$('#FirstDropdown').change(function() {
if ( this.value!='' ){
$('#SecondDropdown option').filter(':contains(' + this.value + ')').prop('selected',true);
}else{
$("#SecondDropdown option[value='-1']").prop('selected',true);
}});
Working Demo
关于javascript - 如果不包含字符串,则使用 jQuery 在下拉列表中选择空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28316334/