使用jQuery检查具有某个类的所有输入是否为空

Xan*_*der 3 jquery

我正在尝试检查具有某个类的所有输入字段是否为空.现在我有以下代码:

HTML

<input type="text" class="required-entry">
<input type="text" class="required-entry">
<input type="text" class="required-entry">
<button class="check-fields">Check Fields</button>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$('.check-fields').on('click', function () {

  var value = $('.required-entry').filter(function () {
    return this.value != '';
  });

  if (value.length == 0) {
    alert('Please fill out all required fields.');
  } else if (value.length > 0) {
    alert('Everything has a value.');
  }
});
Run Code Online (Sandbox Code Playgroud)

但这会抛出"一切都有价值"的信息.如果任何一个输入有一个值.我试图只在这个类的每个输入都包含其中的内容时抛出该消息.

$('.check-fields').on('click', function () {

    var value = $('.required-entry').filter(function () {
        return this.value != '';
    });

    if (value.length == 0) {
        console.log('Please fill out all required fields.');
    } else if (value.length > 0) {
        console.log('Everything has a value.');
    }
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="required-entry">
<input type="text" class="required-entry">
<input type="text" class="required-entry">
<button class="check-fields">Check Fields</button>
Run Code Online (Sandbox Code Playgroud)

我也有这个略有不同的代码的小提琴..当第一个输入是唯一填充时,也会抛出Everything有一个值消息.

$('.check-fields').on('click', function () {
    
    if($.trim($('.required-entry').val()) === '') {
        console.log('Please fill out all required fields.');
    } else {
        console.log('Everything has a value.');
    }
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="required-entry">
<input type="text" class="required-entry">
<input type="text" class="required-entry">
<button class="check-fields">Check Fields</button>
Run Code Online (Sandbox Code Playgroud)

小智 10

检查以下代码:

$('.check-fields').on('click', function () {

    var reqlength = $('.required-entry').length;
    console.log(reqlength);
    var value = $('.required-entry').filter(function () {
        return this.value != '';
    });

    if (value.length>=0 && (value.length !== reqlength)) {
        alert('Please fill out all required fields.');
    } else {
        alert('Everything has a value.');
    }
});
Run Code Online (Sandbox Code Playgroud)


Dha*_*hak 5

您可能需要像下面的“做空检查”一样更改条件。

var value = $('.required-entry').filter(function () {
    return this.value === '';
});
Run Code Online (Sandbox Code Playgroud)

取决于以上条件,您可以更改if条件,0如果所有输入都具有值,则将获得计数,否则将获得>0计数。

if (value.length == 0) {
   alert('Everything has a value.');
} 
else if (value.length > 0) {
    alert('Please fill out all required fields.');
}
Run Code Online (Sandbox Code Playgroud)

var value = $('.required-entry').filter(function () {
    return this.value === '';
});
Run Code Online (Sandbox Code Playgroud)
if (value.length == 0) {
   alert('Everything has a value.');
} 
else if (value.length > 0) {
    alert('Please fill out all required fields.');
}
Run Code Online (Sandbox Code Playgroud)