[英]How to ignore case (upper/lower) while triggering change for select in jquery?
請參見下面的代碼:
<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>
在這種情況下,選項未設置為值“ TWO”。 但是,如果我更改為:
$("select").val("two").trigger("change");
然后就可以了。 觸發選擇更改時如何忽略大小寫?
試試這個-這將忽略情況
var optionVal = $('select option').filter(function() { return this.value.toLowerCase() == 'two'; }).val(); $("select").val(optionVal).trigger("change");
<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>
$("select").val("TWO".toLowerCase()).trigger("change");
將所有值都轉換為小寫,現在您可以檢查字符串中的大小寫無關緊要
您需要按文本獲取選擇選項,然后將其設置為選中狀態:
$('select option').filter(function () {
return $(this).text().toLowerCase() == 'two';
}).prop('selected', true);
$('select option').filter(function () { return $(this).text().toLowerCase() == 'two'; }).prop('selected', true);
<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>
使用正則表達式
$("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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.