寻找一种简单的方法来验证某个div中所有必需的输入。 换句话说,确保某个div中的所有必需输入都不为空。
以下代码here显示了检查所有输入并确保它们在给定页面上不为空(包括其中只有空格的输入)的方法。
我正在尝试做同样的事情。只是在一个特定的div和所有必需的输入。
$("input").filter(function () {
return $.trim($(this).val()).length == 0
}).length == 0;
答案 0 :(得分:4)
您可以做同样的事情,但是您应该更改选择器以仅定位给定div中的输入,并添加[required]
选择器以仅选择具有required
属性的人:
$("div_selector input[required]").filter(function () {
return $.trim($(this).val()).length == 0
}).length == 0;
希望这有帮助。
$('button').on('click',function(){
var result = $("#div_selector input[required]").filter(function () {
return $.trim($(this).val()).length == 0
}).length == 0;
console.log(result);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name='first' required> Required input out of the div
<div id='div_selector'>
<input name='second' required> Required input
<br>
<input name='Third'>
<br>
<input name='Fourth' required> Required input
</div>
<br>
<button>Check</button>
答案 1 :(得分:2)
这是一个简单的单行使用Array.reduce()
:
$(".your-div input").reduce((allFilled, input) =>
allFilled && $.trim($(input).val()) !== "", true)
答案 2 :(得分:1)
此方法将匹配输入,选择,textarea等任何输入
var canSubmit = true;
$.each($('.div-in-question').find(':input'), function(element, index){
canSubmit = canSubmit && ($(element).val() !== '');
});
// at this point canSubmit will be true or false and you can act upon it