检查是否选中了复选框,然后选中另一个复选框

我有一个网页,上面有6个复选框。

      

使用jquery如何查看是否检查了所有这6个复选框,如果检查了所有6个复选框,请选中复选框7:

  

我已经开始编写函数但不确定这是否是执行此操作的最佳方法:

  function AllSectionsChecked { var isChecked1 = $('##chk1').attr('checked')?true:false; var isChecked2 = $('##chk2').attr('checked')?true:false; var isChecked3 = $('##chk3').attr('checked')?true:false; var isChecked4 = $('##chk4').attr('checked')?true:false; var isChecked5 = $('##chk5').attr('checked')?true:false; var isChecked6 = $('##chk6').attr('checked')?true:false; } 

任何帮助,将不胜感激。 我猜它非常直接,但只是寻找在jquery中实现这一目标的最佳方法。

更新: * id和名称是动态创建的,可能不是任何顺序或比例,所以id可能是chk51而下一个可能是chk205,Appologies我应该把它放在我原来的post中*谢谢你的建议到目前为止。

非常感谢

假设最后一个复选框的ID应该是chk7而不是chk5

 $('#chk7').prop('checked', $('input[type="checkbox"]:lt(6):checked').length == 6); 

示范

那个怎么样?

 $("#chk7").prop("checked", $(".chkbox").filter(function() { return /^chk[1-6]$/.test(this.id) && this.checked; }).length == 6); 

演示: http //jsfiddle.net/FbQUF/

 var checked = true; $('.chkbox').each(function(){ if($(this).is(':checked')) { alert('Element with id ' + $(this).attr('id') + ' is checked'); } else { alert('Element with id ' + $(this).attr('id') + ' is unchecked'); checked = false; } }); if(checked) $('#checkbox7').attr("checked","checked"); 

如果您在要检查的复选框中添加特定类(让我们说need ),您可以使用:checked选择器如下:

 $("#chk7").prop("checked", $(".need:checked").length === 6); 

这就是方式: Fiddler Demo

     
$('input[type="checkbox"]').on('change', function() { if (!$('input.paid[type=checkbox]:not(:checked)').length) $('input[name=5]').attr('checked','checked'); else $('input[name=5]').attr('checked',false); })