检查所有输入是否为空

时间:2014-11-14 14:04:20

标签: javascript jquery forms input onkeyup

我的页面上有多个输入,当它们被填充时," info div"出现在一边; 现在,如果所有输入都被手动清除(在keyup上),我需要隐藏" info div"。

如何检查(在密钥上)所有输入同时为空?

干杯

2 个答案:

答案 0 :(得分:10)

循环浏览所有输入,如果你进入非空的输入,你知道它们并非都是空的。如果您在没有找到循环的情况下完成循环,则 全部为空。

function isEveryInputEmpty() {
    var allEmpty = true;

    $(':input').each(function() {
        if ($(this).val() !== '') {
            allEmpty = false;
            return false; // we've found a non-empty one, so stop iterating
        }
    });

    return allEmpty;
}

你可能想要修剪'比较前的输入值(如果要将输入中只有空格处理为空)。您还可能希望更具体地了解您要检查哪些输入。

答案 1 :(得分:1)

简单解决方案(ES6)

<强> HTML

<div class="container">
  <input id="input1" />
  <input id="input2" />
  <input id="input3" />
</div>

<强> JS

function areAllInputsEmpty() {
  return $(".container input").filter(function() {
    return $.trim($(this).val()).length > 0
  }).length == 0;
}

Online demo (jsFiddle)

相关问题