jQuery:如果只点击所有复选框,如何启用按钮?

单击所有复选框时如何启用“按钮”?

例如:

 $(function(){ // on change event var bool; $("input.checkbox").change(function() { bool = $(".checkbox:not(:checked)").length !=0; // enable/disable $("#submitbutton").prop('disabled', bool); }) }); 

DEMO

您所要做的就是让您当前的代码更加通用,以使其正常工作。
单击任何一个复选框时,检查每个复选框。

看看你的JSFiddle的这种改编 。

 $(document).ready(function() { $( '[type="checkbox"]' ).click(function() { if( allChecked() ){ $("#submitbutton").removeAttr("disabled"); } else{ $("#submitbutton").attr("disabled", "disabled"); } }); }); function allChecked(){ var checkboxes = $( '[type="checkbox"]' ), allChecked = true; checkboxes.each( function( i, e ){ allChecked = allChecked && $(e).is( ":checked" ); }); return allChecked; } 

只要单击一个复选框,如果有任何未选中的框,则设置disabled属性。

 $(".checkbox").change(function() { $("#submitbutton").prop('disabled', $(".checkbox:not(:checked)").length != 0); }) 

这应该工作

 //grab the set of check-boxes just one time: var $checkboxes = $('form [type="checkbox"]'); //on each click, look at them, if there are no unchecked boxes, un-disalbe the submit: $checkboxes.on('change', function(){ if(!$checkboxes.filter('not:([checked])').length){ $('submitbutton').prop('disabled', false); } }