Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁用复选框无法正常工作_Javascript_Jquery_Html_Checkbox - Fatal编程技术网

Javascript 禁用复选框无法正常工作

Javascript 禁用复选框无法正常工作,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,因此,我最近问了一个关于如何重新执行的问题,在那里我问了如何更改一些javascript,使之成为只有选中某个特定复选框时,所有复选框都将被禁用 好吧,我写了这个: $(function () { $("#disable").change(function () { $(this).siblings().attr("disabled", $(this).is(":checked")); }); }); 过了一会儿,你就会发现它不起作用了。这个想法是,如果您选中第

因此,我最近问了一个关于如何重新执行的问题,在那里我问了如何更改一些javascript,使之成为只有选中某个特定复选框时,所有复选框都将被禁用

好吧,我写了这个:

$(function () {
    $("#disable").change(function () {
        $(this).siblings().attr("disabled", $(this).is(":checked"));
    });
});
过了一会儿,你就会发现它不起作用了。这个想法是,如果您选中第一个复选框,那么所有其他复选框都应该被禁用。无论如何它都不会


我做错了什么?

没有兄弟姐妹是哪种类型的复选框

$("#disable").change(function () {
    $('.sidebar').not(this).attr("disabled", this.checked);
});

不存在类型为复选框的同级

$("#disable").change(function () {
    $('.sidebar').not(this).attr("disabled", this.checked);
});

你把DOM搞错了。请点击此处:


你把DOM搞错了。请点击此处:


您必须选择所有复选框而不选择选中的复选框,然后可以禁用所有其他复选框,保留第一个复选框,如下所示

$(document).ready(function(){
    $("#disable").change(function () {
            if($("#disable").is(':checked')){                          
                $("input[type='checkbox']:not(#disable)").attr("disabled", "disabled");                   
            }else{
                $("input[type='checkbox']:not(#disable)").removeAttr("disabled");   
            }
        });
});

您必须选择所有复选框而不选择选中的复选框,然后您可以禁用所有其他复选框,保留第一个复选框,如下所示

$(document).ready(function(){
    $("#disable").change(function () {
            if($("#disable").is(':checked')){                          
                $("input[type='checkbox']:not(#disable)").attr("disabled", "disabled");                   
            }else{
                $("input[type='checkbox']:not(#disable)").removeAttr("disabled");   
            }
        });
});

此外,如果要设置布尔值,则应使用.prop()而不是.attr()。disabled属性应仅接受值“disabled”。disabled属性接受布尔值。虽然它接受
disabled=“true”
但不完全为true,它实际上应该是
disabled=“disabled”
此外,如果设置布尔值,则应该使用.prop()而不是.attr()。disabled属性应仅接受值“disabled”。disabled属性接受布尔值。虽然它接受
disabled=“true”
但不完全为true,它实际上应该是
disabled=“disabled”