最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Jquery - How to check if all inputs in a div are not empty? - Stack Overflow

programmeradmin2浏览0评论

Looking for a simple way to validate all required inputs, in a certain div. In other words make sure all required inputs within a certain div are not empty.

This following code which was found here, shows a way to check all inputs and make sure they aren't empty (including inputs with only spaces in them) on a given page.

I am trying to do the same thing. Just within a certain div and for all required inputs.

$("input").filter(function () {
    return $.trim($(this).val()).length == 0
}).length == 0;

Looking for a simple way to validate all required inputs, in a certain div. In other words make sure all required inputs within a certain div are not empty.

This following code which was found here, shows a way to check all inputs and make sure they aren't empty (including inputs with only spaces in them) on a given page.

I am trying to do the same thing. Just within a certain div and for all required inputs.

$("input").filter(function () {
    return $.trim($(this).val()).length == 0
}).length == 0;
Share Improve this question edited May 23, 2017 at 12:16 CommunityBot 11 silver badge asked Dec 30, 2016 at 15:30 akasoggybunzakasoggybunz 3447 silver badges21 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 4

You could do the same thing, but you should change the selector to target just the input's inside a given div and add [required] selector to select just those who have required attribute :

$("div_selector input[required]").filter(function () {
    return $.trim($(this).val()).length == 0
}).length == 0;

Hope this helps.

$('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./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>

Here's a simple one-liner using Array.reduce():

$(".your-div input").reduce((allFilled, input) =>
  allFilled && $.trim($(input).val()) !== "", true)

This approach will match any input be it input, select, textarea etc

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
发布评论

评论列表(0)

  1. 暂无评论