通过条件if语句检查输入

时间:2018-03-06 18:20:29

标签: jquery

请帮助,我该如何正确实现这一目标 要通过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>

1 个答案:

答案 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>");     
      }   
  });
})