0
我有2个选择框和文本输入的表单。在更改这3个元素中的任何一个时,我想运行检查以查看是否有任何元素为空(无值),然后更改变量。这是我迄今为止尝试:如何检查是否选择任一框或文本输入是空的jQuery
var emptyFields = true;
var inputs = $('input[type="text"], select').on('keyup change', function() {
inputs.each(function() {
var elm = $(this),
val = elm.val();
if ((val != '0' && elm.is('select')) || (val != '' && elm.is('input'))) {
emptyFields = false;
return false;
}
});
$('.info span').text(emptyFields);
});
.info {
margin-top:20px;
}
span {
font-weight:bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option selected disabled>SELECT AN OPTION</option>
<option>One</option>
<option>Two</option>
<option>Three</option>
</select>
<select>
<option selected disabled>SELECT AN OPTION</option>
<option>Four</option>
<option>Five</option>
<option>Six</option>
</select>
<input type="text" />
<div class="info">Empty fields? <span></span></div>
我现在遇到的问题是,该变量转变为false
甚至在所有3个元素有一个值。如果你正在完成的元素从左至右,直到你在每个select
箱中进行选择后输入的字符到text input
变量不应返回false
。
太好了,谢谢您了详细的解释! – user13286