2012-08-23 85 views
0

所有复选框我有3个checkoxes和一个提交按钮jQuery验证上提交

<form id="form1" action="/controller/action" method="post"> 
      <div class="checkbox"><input type="checkbox" name="box1" class="cBox" /><label for="box1" class="label">Box1</label></div> 
      <div class="checkbox"><input type="checkbox" name="Box2" class="cBox" /><label for="Box2" class="label">Box2</label></div> 
      <div class="checkbox"><input type="checkbox" name="Box3" class="cBox" /><label for="Box3" class="label">Box3</label></div> 
      <input type="submit" value="Submit" /> 
</form> 

我有以下的jQuery它提醒当没有复选框被选中:

$(document).ready(function() { 
    $('#form1').submit(function() { 
     if ($('input:checkbox', this).is(':checked')) { 
      // everything's fine... 
     } else { 
      alert('Please tick all checkboxes!'); 
      return false; 
     } 
    }); 
}); 

使用jQuery我需要:

如果所有的复选框被选中,一旦点击提交按钮警告:“所有的复选框被选中。”

如果所有复选框都没有被点击,则提示:“请勾选所有复选框!”提交。

感谢

回答

3

可以检查复选框的数量相同数量的检查者的数量:

$(document).ready(function() { 
    $('#form1').submit(function() { 
     if ($('input:checkbox', this).length == $('input:checked', this).length) { 
      // everything's fine... 
     } else { 
      alert('Please tick all checkboxes!'); 
      return false; 
     } 
    }); 
}); 
+0

感谢队友,传奇! – avidaicu