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/