当jQuery中没有选中复选框时,按钮禁用

时间:2018-09-04 17:58:07

标签: javascript jquery html

选择复选框时,我无法使用禁用按钮。 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 );

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题,如果您遍历所有元素,则需要检查是否选中了某个元素,然后将按钮设置为活动(如果未选中),然后禁用它。

{{1}}