Javascript 根据条件禁用复选框

Javascript 根据条件禁用复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我有3个复选框,比如复选框A,复选框B,复选框C。我有一个类似的要求 如果选中复选框A,则应禁用复选框B和C 我可以同时选中复选框B和C,在这种情况下,应禁用复选框A 单独选择复选框B或复选框C(单选)后,在任何一种情况下,都应禁用复选框A 下面是我的代码: $("#B").change(function(){ if($("#B").is(':checked')) { $("#A").attr("disabled", true); } else

我有3个复选框,比如复选框A,复选框B,复选框C。我有一个类似的要求

  • 如果选中复选框A,则应禁用复选框B和C
  • 我可以同时选中复选框B和C,在这种情况下,应禁用复选框A
  • 单独选择复选框B或复选框C(单选)后,在任何一种情况下,都应禁用复选框A
  • 下面是我的代码:

    $("#B").change(function(){
        if($("#B").is(':checked'))
        {
          $("#A").attr("disabled", true);
        }
        else
        {
          $("#A").attr("disabled", false);
          $("#B").attr("disabled", false);
          $("#C").attr("disabled", false);
        }
      });
    
      $("#C").change(function(){
        if($("#C").is(':checked'))
        {
          $("#A").attr("disabled", true);
        }
        else
        {
          $("#A").attr("disabled", false);
          $("#B").attr("disabled", false);
          $("#C").attr("disabled", false);
        }
      });
    
      $("#A").change(function(){
        if($("#A").is(':checked'))
        {
          $("#B").attr("disabled", true);
          $("#C").attr("disabled", true);
        }
        else
        {
          $("#A").attr("disabled", false);
          $("#B").attr("disabled", false);
          $("#C").attr("disabled", false);
        }
      });
    

    有人能帮我一下吗?

    您需要更新您的状况:


    使用
    .prop()
    而不是
    .attr()
    ,从jQuery 1.6开始,
    .prop()
    方法提供了一种显式检索属性值的方法,而
    .attr()
    检索属性您的代码工作正常,只需包含jQuery文件,请同时查看JSFIDDLE=>复选框B和C……如何??
    $("#B").change(function () {
        if ($("#B").is(':checked')) {
            $("#A").attr("disabled", true);
        } else {
            if ($("#C").is(':checked')) {
                $("#A").attr("disabled", true);
            } else {
                $("#A").attr("disabled", false);
                $("#B").attr("disabled", false);
                $("#C").attr("disabled", false);
            }
        }
    });
    
    $("#C").change(function () {
        if ($("#C").is(':checked')) {
            $("#A").attr("disabled", true);
        } else {
            if ($("#B").is(':checked')) {
                $("#A").attr("disabled", true);
            } else {
                $("#A").attr("disabled", false);
                $("#B").attr("disabled", false);
                $("#C").attr("disabled", false);
            }
        }
    });
    
    $("#A").change(function () {
        if ($("#A").is(':checked')) {
            $("#B").attr("disabled", true);
            $("#C").attr("disabled", true);
        } else {
            $("#A").attr("disabled", false);
            $("#B").attr("disabled", false);
            $("#C").attr("disabled", false);
        }
    });