空字段和数字字段的过滤功能

时间:2017-06-23 15:05:09

标签: jquery

我正在使用一个函数来确保三个输入字段中的至少一个中有一个值,方法是使所有字段的计数不为空,并根据该计数传递!= 0。

但是,如果任何输入具有除数字之外的其他内容,我试图修改此函数也会失败。我不确定如何使用我当前的结构来实现这一点。



<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class='number'>
<input class='number'>
<input class='number'><br/>
<button id='go'>Go!</button>
&#13;
abc
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:3)

要使其发挥作用,请使用Number()转换filter()中的值。这是因为0将在filter()的返回值中强制为false,而空值或非数值将返回NaN,这也会强制为false。另请注意,您应该针对整数值检查length属性,而不是字符串。试试这个:

$('#go').on('click', function() {
  var nonempty = $('.number').filter(function() {
    return Number(this.value);
  })

  if (nonempty.length == 0) {
    console.log('Fail');
  } else {
    console.log('Pass');
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input class="number">
<input class="number">
<input class="number"><br/>
<button id="go">Go!</button>