我的页面上有多个输入,当它们被填充时," info div"出现在一边; 现在,如果所有输入都被手动清除(在keyup上),我需要隐藏" info div"。
如何检查(在密钥上)所有输入同时为空?
干杯
答案 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;
}