jQuery - 验证每个循环中的复选框

时间:2013-03-11 18:53:13

标签: jquery forms checkbox

我有一个复选框列表,我给每个人一个班级。 我们的想法是强制用户检查所有适用的框,并且必须至少检查一个框。

这是我的逻辑:

<form method="post" onsubmit="return validateForm()">
<input type="checkbox" class="chkboxes" name="chkbox1" id="chkbox1"> Text Here<br>
<input type="checkbox" class="chkboxes" name="chkbox2" id="chkbox2"> Text Here<br>
<input type="checkbox" class="chkboxes" name="chkbox3" id="chkbox3"> Text Here<br>
<input name="Submit" type="submit" value="Submit">
</form>

<script language="javascript" type="text/javascript">

function validateForm() {

$(".chkboxes").each(function(){

  if( $(this).is(':checked')==true ){ 
   return true;
  }else{
   alert('Please check at least 1 box');
   return false;
  }

});

}//eof validateForm function

</script>

当我提交表单时,javascript函数被成功调用。 但是,它似乎没有认识到任何复选框都被选中。

任何人都可以在我的javascript函数中看到任何错误吗?

1 个答案:

答案 0 :(得分:3)

function validateForm() {
  var len = $(".chkboxes:checked").length;
  if ( len === 0 )
     alert('Please check at least 1 box');
  }  
  return len > 0;
}