请参阅以下代码:
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
<select>
<option>one</option>
<option>two</option>
<option>three</option>
<option>four</option>
<option>five</option>
</select>
<script>
$("select").val("TWO").trigger("change");
</script>
</body>
</html>
在这种情况下,选项未设置值&#34; TWO&#34; 。但如果我换成:
$("select").val("two").trigger("change");
然后它有效。如何在触发select的更改时忽略大小写?
答案 0 :(得分:0)
试试这个 - 这将忽略案例
var optionVal = $('select option').filter(function() {
return this.value.toLowerCase() == 'two';
}).val();
$("select").val(optionVal).trigger("change");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<select>
<option>one</option>
<option>Two</option>
<option>three</option>
<option>four</option>
<option>five</option>
</select>
&#13;
答案 1 :(得分:0)
$("select").val("TWO".toLowerCase()).trigger("change");
将所有值设为小写,现在您可以检查字符串
中的大写或小写无关紧要答案 2 :(得分:0)
您需要按文本选择选项,然后将其设置为选中:
$('select option').filter(function () {
return $(this).text().toLowerCase() == 'two';
}).prop('selected', true);
$('select option').filter(function () {
return $(this).text().toLowerCase() == 'two';
}).prop('selected', true);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option>one</option>
<option>two</option>
<option>three</option>
<option>four</option>
<option>five</option>
</select>
&#13;
答案 3 :(得分:0)
使用正则表达式
$("select option").each(function(){
if(this.value.match(/TWO/i)){
$(this).attr("selected","selected")
}
});
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
<select>
<option>one</option>
<option>two</option>
<option>three</option>
<option>four</option>
<option>five</option>
</select>