我正在使用一个函数来确保三个输入字段中的至少一个中有一个值,方法是使所有字段的计数不为空,并根据该计数传递!= 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;
答案 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>