我嘗試使用多個選擇器,如下所示,但在我的情況下無法使用。或者唯一的方法是漫長而乏味的方法,單獨輸入每個?
$(document).ready(function(){
$("#name,#DOB,#email,#nirc,#mobileno,#haddrs").blur(function(){
if (!$.trim($("#name,#DOB,#email,#nirc,#mobileno,#haddrs").val())){
$(this).addClass("error");
} else {
$(this).removeClass("error");
}
});
});
uj5u.com熱心網友回復:
您可以設定這些類的陣列并使用逗號作為分隔符加入它們:
var classes = ["#name","#DOB","#email","#nirc","#mobileno","#haddrs"];
var selector = classes.join(', ');
$(selector).blur(function(){...
uj5u.com熱心網友回復:
根據您的要求,您可以使用this來指示當前輸入并僅突出顯示該輸入,或者您可以使用.filter查找所有為空的輸入。
您還可以將 .toggleClass 與布爾多載一起使用,這相當于您的 if/else。
使用this的只是電流輸入:
$("#name,#DOB,#email,#nirc,#mobileno,#haddrs").blur(function(){
$(this).toggleClass("error", !$.trim($(this).val()))
});
.error { background-color: pink; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id='name'>
<input id='DOB' value='today'>
<input id='email'>
使用.filter查找所有空輸入。我已添加ids=".."以供重復使用。
var ids = "#name,#DOB,#email,#nirc,#mobileno,#haddrs"
$(ids).blur(function() {
$(ids)
.removeClass("error")
.filter(function() {
$(this).toggleClass("error", !$.trim($(this).val()))
})
});
.error {
background-color: pink;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id='name'>
<input id='DOB' value='today'>
<input id='email'>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/384234.html
標籤:查询
