选择复选框时,我无法使用禁用按钮。 Multicheck正在运行,但是如果我有两个或多个项目,则选择全部,然后取消选择其中一项,然后该按钮再次禁用。请帮助我。
这是我的代码:
<input type='submit' id='delete-button' class="delete-button" disabled="disabled">
<input type="checkbox" id="check-all"name="deleteall" value="checkbox-all">
<input type='checkbox' class='checkSingle' id='checkbox' name='check_list[]'>
<input type='checkbox' class='checkSingle' id='checkbox' name='check_list[]'>
<input type='checkbox' class='checkSingle' id='checkbox' name='check_list[]'>
<input type='checkbox' class='checkSingle' id='checkbox' name='check_list[]'>
<input type='checkbox' class='checkSingle' id='checkbox' name='check_list[]'>
和jQuery代码:
(function ( $ ) {
$( 'document' ).ready( function() {
$('.checkSingle').on ("click", function() {
if ($(this).is(':checked')) {
$("#delete-button").removeAttr('disabled');
} else {
$('#delete-button').attr('disabled', 'disabled');
}
});
$('#check-all').change(function () {
if (this.checked){
$("#delete-button").removeAttr('disabled');
$(".checkSingle").each(function() {
this.checked=true;
})
} else {
$(".checkSingle").each(function() {
$('#delete-button').attr('disabled', 'disabled');
this.checked=false;
})
}
});
$(".checkSingle").click(function () {
if ($(this).is(":checked")) {
var isAllChecked = 0;
$(".checkSingle").each(function() {
if(!this.checked)
isAllChecked = 1;
})
if(isAllChecked == 0) {
$("#check-all").prop("checked", true);
}
} else {
$("#check-all").prop("checked", false);
}
});
});
})( jQuery );
答案 0 :(得分:1)
这应该可以解决问题,如果您遍历所有元素,则需要检查是否选中了某个元素,然后将按钮设置为活动(如果未选中),然后禁用它。
{{1}}