如果任何选定的输入为空,我将如何以简单的方式进行测试?
我这样得到我的输入:
$myinputs = $('.inputstotest');
并将测试单个输入:
if ( $.trim($this.val()) == '' )
但是如何测试一个组并在所有都不为空时返回 true 或如果任何(至少一个)为空则返回 false?
如果任何选定的输入为空,我将如何以简单的方式进行测试?
我这样得到我的输入:
$myinputs = $('.inputstotest');
并将测试单个输入:
if ( $.trim($this.val()) == '' )
但是如何测试一个组并在所有都不为空时返回 true 或如果任何(至少一个)为空则返回 false?
我建议:
var someEmpty = $('.inputstotest').filter(function(){
return $.trim(this.value).length === 0;
}).length > 0;
上面someEmpty
将是一个布尔值,true
如果inputs
该类名的修剪value
-等于零,false
如果该类名的输入没有修剪value
-长度等于零。
参考:
var result = true;
$('.inputstotest').each(function() {
if ($.trim($(this).val())) == '') {
result = false;
return false; // Terminate the .each loop
}
});
return result;
你可以做
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('<span>Please enter a value!</span>');
}
如果您让每个输入具有相同的类,例如。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');
}