要求选中所有复选框

时间:2014-03-13 12:58:55

标签: jquery checkbox

所以我有一个带有复选框的字段,需要在提交之前进行选择。 问题是它不是一个固定数量的复选框,因为它取决于从数据库中提取的要检查的值的数量。

基本上,复选框的数量范围为1到9。

我使用ajax发送值,所以我没有在表单中列出'checkbale items',而是列在列表中。像这样的东西

Unit 1: <input type="checkbox" name="unit[]" value="1"/>
Unit 2: <input type="checkbox" name="unit[]" value="2"/>
Unit 3: <input type="checkbox" name="unit[]" value="3"/>
Unit 4: <input type="checkbox" name="unit[]" value="4"/>

<input type="submit" value="register units"/>

问题是:我如何确保每次都会在提交前检查所有复选框。

5 个答案:

答案 0 :(得分:4)

像这样:

if($('input[type="checkbox"]:checked').length == $('input[type="checkbox"]').length){
  //all checkboxes are checked.
}

您还可以使用name属性来使用$('input[name="unit[]"]'$('input[name="unit[]"]:checked')

定位元素

答案 1 :(得分:2)

你也可以这样做 -

     <form name="myForm" action="targetpage.asp" onsubmit="return validateForm();" method="post">  
         Unit 1: <input type="checkbox" name="unit" value="1" />  
         Unit 2: <input type="checkbox" name="unit" value="2" />  
         Unit 3: <input type="checkbox" name="unit" value="3" />  
         Unit 4: <input type="checkbox" name="unit" value="4" />  
         <input type="submit" value="submit" id="XISubmit" />  
     </form>  



 <script>  
     function validateForm() {  
         if (validateCheckbox(document.forms["myForm"]["unit"])) {  
             alert('All good!');  
             return false;  
         }  
         else {  
             alert('Please select all checkboxes.');  
             return false;  
         }  
     }  

     function validateCheckbox(chk) {  
         for (i = 0; i < chk.length; ++i) {  
             if (!chk[i].checked) return false;  
         }  
         return true;  
     }  
 </script>  

答案 2 :(得分:1)

尝试这样的事情

if($('form input:checked').length == $('form input:checkbox').length){
//submit
}

答案 3 :(得分:0)

在提交处理程序中,检查未选中复选框的长度是否大于0然后显示错误消息并阻止默认操作

if($('input[name="unit[]"]').not(':checked').length){
    alert();
    return;
}

答案 4 :(得分:0)

    <input type="checkbox" name="unit[]" value="1"/>
     <input type="checkbox" name="unit[]" value="2"/>
     <input type="checkbox" name="unit[]" value="3"/>
    <input type="checkbox" name="unit[]" value="4"/>
 <input type="button" id="buttonsubmit" />

这是你的HTML

这是jquery

$('#buttonsubmit').click(function(){
$('.checkme').each(function(){
  var aa="all"
  if(!$(this).is(':checked'))
  {
  aa='notchecked';

  }

  if(aa=='notchecked')
                   {

                   alert('all not checked');
                   }
                   else

                     {
                       alert('all checked');

                     }

});
});

查看此演示Click here