5

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

我这样得到我的输入:

$myinputs = $('.inputstotest');

并将测试单个输入:

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

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

4

6 回答 6

6

我建议:

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

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

参考:

于 2013-07-19T17:04:20.577 回答
2
var result = true;
$('.inputstotest').each(function() {
    if ($.trim($(this).val())) == '') {
        result = false;
        return false; // Terminate the .each loop
    }
});
return result;
于 2013-07-19T17:04:12.817 回答
2

你可以做

var $myinputs = $('.inputstotest');
if($myinputs.filter(function() { return $.trim(this.value) == ''; }).length > 0) {
    //There is at least one empty input
}
于 2013-07-19T17:04:41.283 回答
2
var invalidInputs = $('.inputstotest').filter(function() {
    return $.trim(this.value) == '';
});

if (invalidInputs.length > 0) {
   //some were invalid
   invalidInputs.after('<span>Please enter a value!</span>');
}
于 2013-07-19T17:06:21.653 回答
0

你可以使用 jQuery 每个函数

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

这是给你的小提琴:http: //jsfiddle.net/Beyyd/1/

于 2013-07-19T17:09:35.013 回答
0

如果您让每个输入具有相同的类,例如。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');
}
于 2013-07-19T17:05:56.590 回答