jQuery复选框全部检查并删除所有

好吧,我有这个代码,非常适合检查和取消检查表单中的所有复选框。 但如果你检查它们然后检查它们,然后尝试再次检查所有没有发生。

可以做些什么来解决这个问题?

$('#yearall').click(function() { var c = this.checked; $('.year:checkbox').prop('checked',c); }); $('#yearNone').click(function() { var c = this.checked; $('.year:checkbox, #yearall').removeProp('checked',c); }); 

我在这里打了个小提琴http://jsfiddle.net/nf75M/

更改

 $('#yearNone').click(function() { var c = this.checked; $('.year:checkbox, #yearall').removeProp('checked',c); }); 

 $('#yearNone').click(function() { $('.year:checkbox, #yearall').prop('checked',false); }); 

删除属性后,您无法再在#yearAll单击处理程序中进行设置。

小提琴