检查多个输入值是否为空

时间:2018-05-08 14:40:18

标签: jquery

我有一个包含64输入的表,我想检查表#Matrix中的所有输入值是否不为空。如果至少有一个输入值不为空,那么我们没问题。以下是我的尝试。

只有第一个输入不为空时才返回true。

if (!$('table #Matrix1 input').val()) {
    console.log("Empty");
    return false;
}

1 个答案:

答案 0 :(得分:3)

一种选择是使用.filter过滤空输入。这将给出空输入的长度。像:

var empty = $('#Matrix1 input').filter(function() {
    return this.value.trim() === ''; //Get the value and trim. Return true if equals to an empty string
}).length;

这是一个片段。

$('[type="button"]').click(function() {

  var empty = $('#Matrix1 input').filter(function() {
    return this.value.trim() === '';
  }).length;

  //console.log(empty);

  if ( $('#Matrix1 input').length === empty ) console.log('All are empty. Return false.');
  else console.log('Not all are empty');

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id='Matrix1'>
  <input type="text" value='1'>
  <input type="text" value='1'>
  <input type="text" value='1'>
  <input type="text" value='            '>
  <input type="text" value='     '>
  <input type="text" value=''>
</div>
<button type="button">Click Me!</button>

Doc:.filter()