至少有一组所有html元素都填充了jquery

时间:2013-11-14 18:58:11

标签: javascript jquery html

让我说我有一些像这样的HTML:

<div class="users" id="user_1">
    Name: <input type="text" name="name" value="" />

    Sex : <br />
    <input type="radio" name="sex" value="male" /> Male
    <input type="radio" name="sex" value="female" /> Female

    Comments: 
    <textarea rows="5" cols="50"></textarea>
</div>

<br />

<div class="users" id="user_2">
    Name: <input type="text" name="name" value="" />

    Sex : <br />
    <input type="radio" name="sex" value="male" /> Male
    <input type="radio" name="sex" value="female" /> Female

    Comments: 
    <textarea rows="5" cols="50"></textarea>
</div>

<br />

<div class="users" id="user_3">
    Name: <input type="text" name="name" value="" />

    Sex : <br />
    <input type="radio" name="sex" value="male" /> Male
    <input type="radio" name="sex" value="female" /> Female

    Comments: 
    <textarea rows="5" cols="50"></textarea>
</div>

如上所示,我有三个div。每个div中的所有字段都是必需的。我想知道用户是否已使用jquery填充了上述至少一个div中的所有字段。最简单,最有效的方法是什么?

谢谢

1 个答案:

答案 0 :(得分:-1)

开始循环外部元素。 在循环内,循环通过输入元素检查每个元素的值。 如果循环遍历外部div中的所有输入元素,并且没有找到空白输入,那么您已经找到了一个充满非空输入的div。打破外循环。

var allFormValid = false;

$('.users').each(function(i, form) {
 var formValid = true;
 $(form).children().each(function(j, input) {
  if($(input).val() === '') {
   formValid = false;
   return false;
  }
 });
 if(formValid) {
  allFormValid = true;
  return false;
 }
});