【问题标题】:How to check if switch is true or not to hide the div?如何检查开关是否为真以隐藏div?
【发布时间】:2018-08-05 10:32:41
【问题描述】:

我在检查函数验证时遇到了一些问题,我需要在检查所有 cassis 为 true 时隐藏父 div * 错误消息 *

var error_pass = false;

  $('#pass').focusout(function(){
        check_pass();
        error_pass = false;
        if(error_pass !== true){
            console.log('its showing!');
        }else{
            $('.test').fadeOut('522');
        }
    });


   function check_pass() {
        var fpass= $('#pass').val();
        switch(error_pass = true){
            case(fpass.length < 6 ? $('#pass-error-message3').css('color','red'):$('#pass-error-message3').css('color','green') ):
              $('#pass-error-message3').show();
            case(fpass.search(/(?=.[a-z])(?=.*[A-Z])/) == -1 ? $('#pass-error-message4').css('color','red') : $('#pass-error-message4').css('color','green')):
                $('#pass-error-message4').show();
            case(fpass.search(/\d/) == -1 ? $('#pass-error-message2').css('color','red'):$('#pass-error-message2').css('color','green')):
                $('#pass-error-message2').show();
            default:break;
        }
  }

【问题讨论】:

  • 这不是你使用开关的方式,只是使用 if 语句
  • @Luca 是的,我知道,但是当我使用 if 语句时,我需要将 var error_pass 放入所有 else 语句中,然后检查第一个 if 条件,它们将隐藏父错误,而不检查另一个声明

标签: javascript jquery html ecmascript-6


【解决方案1】:

像这样使用 if else 语句

function validation() {
  var error = false;
  if (fpass.length < 6) {
    error = true;
    $('#pass-error-message3').css('color', 'red').show();
  } else {
    $('#pass-error-message3').css('color', 'green');
  }
  if (fpass.search(/(?=.[a-z])(?=.*[A-Z])/) == -1) {
    error = true;
    $('#pass-error-message4').css('color', 'red').show();
  } else {
    $('#pass-error-message4').css('color', 'green')
  }

  if(fpass.search(/\d/) == -1){
    error = true;
    $('#pass-error-message2').css('color','red').show();
  }else{
    $('#pass-error-message2').css('color','green');
  }

  if(error === false){
    hideParentDiv(); // Here hide the div
  }

}

更简洁的方法

【讨论】:

  • 天哪,非常感谢,但为什么要在函数中声明 var?
  • @AnasTe 我假设这个函数在每次击键时被一次又一次地调用,那么这个变量总是需要的,那么就不需要把它放在全局范围内
猜你喜欢
  • 1970-01-01
  • 2012-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-08
  • 1970-01-01
  • 1970-01-01
  • 2010-11-16
相关资源
最近更新 更多