请帮助,我该如何正确实现这一目标 要通过if else语句检查2个输入,如果它们的值在1到31的适当范围内持续数天。 当模糊时,错误的输入:addClass('。wrong')和右输入addClass('。correct') 下面的代码无法正常工作。如果我使用|| - 在括号之间,它将为日期添加适当的类,但不会添加到月份。 如果运算符从||更改,则为oposite到&&,然后适当的班级仅适用于月份。
如何通过if if实现将正确的类应用于两个输入?
<script>
$(document).ready(function(){
$("#day, #month").on("blur", function(){
var days = $('input#day').val();
var months = $('input#month').val();
if ((days > 0 && days < 32) || (months > 1 && months < 13)){
$(this).addClass("correct").after("<span>Correct!</span>");
}
else {
$(this).addClass("wrong").after("<span>Wrong!</span>");
}
});
})
</script>
答案 0 :(得分:0)
你应该分开条件
$(document).ready(function(){
$("#day, #month").on("blur", function(){
var days = $('input#day').val();
var months = $('input#month').val();
if (days > 0 && days < 32){
$(this).addClass("correct").after("<span>Correct!</span>");
}
else {
$(this).addClass("wrong").after("<span>Wrong!</span>");
}
if (months > 1 && months < 13){
$(this).addClass("correct").after("<span>Correct!</span>");
}
else {
$(this).addClass("wrong").after("<span>Wrong!</span>");
}
});
})
或者,如果您想保持此通用,请更改您的输入字段
<input type="text" id="day" data-min="1" data-max="31" />
<input type="text" id="month" data-min="1" data-max="12" />
并且您的Jquery代码看起来像这样
$(document).ready(function(){
$("#day, #month").on("blur", function(){
var number = $(this).val();
var min= $(this).data("min");
var max = $(this).data("max");
if (number>= min && number <= max){
$(this).addClass("correct").after("<span>Correct!</span>");
}
else {
$(this).addClass("wrong").after("<span>Wrong!</span>");
}
});
})