jQuery检查是否有任何选定的输入为空

如果任何选定的输入为空,我将如何以简单的方式测试?

我这样得到了我的输入:

$myinputs = $('.inputstotest'); 

并测试单输入:

 if ( $.trim($this.val()) == '' ) 

但是如果测试一个组并且如果所有都不为空则返回true或者如果任何(至少一个)为空则返回false?

我建议:

 var someEmpty = $('.inputstotest').filter(function(){ return $.trim(this.value).length === 0; }).length > 0; 

使用上面的someEmpty将是一个布尔值,如果有一个修饰value等于零的类名的inputs ,则为true如果该类名的输入没有长度等于零的修剪value ,则为false

参考文献:

  • filter()

你可以做

 var $myinputs = $('.inputstotest'); if($myinputs.filter(function() { return $.trim(this.value) == ''; }).length > 0) { //There is at least one empty input } 
 var invalidInputs = $('.inputstotest').filter(function() { return $.trim(this.value) == ''; }); if (invalidInputs.length > 0) { //some were invalid invalidInputs.after('Please enter a value!'); } 
 var result = true; $('.inputstotest').each(function() { if ($.trim($(this).val())) == '') { result = false; return false; // Terminate the .each loop } }); return result; 

如果你有每个输入具有相同的类,例如。 class="checkInput"使用的jquery使用下面的代码循环它们:

 var anyBlank = false; $('.checkInput').each(function(){ if($(this).val() == ''){ anyBlank = true; } }); if(anyBlank){ alert('There is at least 1 input that is blank'); } 

你可以使用jQuery的每个函数

 $(".inputstotest").each(function(){}); 

以下是你的小提琴: http : //jsfiddle.net/Beyyd/1/