禁用除一个复选框以外

时间:2013-01-17 00:03:16

标签: javascript jquery html checkbox

我看到了this on jsfiddle,我想知道如何改变它,以便当且仅当检查45时,其余部分被禁用,如果未选择45,则其余部分被启用。我应该能够在提交表格的情况下完成所有这些工作。

jsfiddle上的示例javascript:

$(function(){
    $(".rambo").change(function(){
        $(this).siblings().attr("disabled", $(this).is(":checked"));  
    });
});

5 个答案:

答案 0 :(得分:1)

您可以使用attribute selector

$(function(){
    $(".rambo[value=1]").change(function(){
        $(this).siblings().prop("disabled", this.checked);  
    });
});

http://jsfiddle.net/Mnmte/

答案 1 :(得分:0)

从其他人那里删除.rambo课程。

答案 2 :(得分:0)

$(function(){
    $(".rambo").change(function(){
      if($(this).val() == 1){
        $(this).siblings().attr("disabled", $(this).is(":checked"));  
      }
    });
});

单程

答案 3 :(得分:0)

在所有答案的上方,您还可以指定您只希望第一个checkbox使用nth-child选择器执行脚本:

$(".rambo:nth-child(1)").change(function(){
    $(this).siblings().attr("disabled", $(this).is(":checked"));  
});

Demo

答案 4 :(得分:0)

只需添加适当的id并选择

即可

HTML:

<input type="checkbox" id="cb1" class="rambo" value='1' /> 45 
<input type="checkbox" id="cb2" class="rambo" value='2' /> 56 
<input type="checkbox" id="cb3" class="rambo" value='3' /> 56

JS:

$(function(){
    $("#cb1").change(function(){
        $(this).siblings().attr("disabled", $(this).is(":checked"));  
    });
});

JSFiddle