2013-01-17 39 views
0

我看到了this on jsfiddle,我想知道如何修改它,以便当且仅当选中45时,其余的选项才被禁用,如果选择45则其余选项将被启用。在提交表格之前,我应该能够做到这一点。禁用除一个复选框外的所有其他选项

上的jsfiddle的例子的javascript:

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

回答

0

只需添加适当的id s并选择该

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

0

从别人删除.rambo类。

+0

哦。如果.rambo没有造型意义,那就更好。 – Leeish

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

一种方式

1

您可以使用attribute selector

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

http://jsfiddle.net/Mnmte/

0
从所有的答案

上面,你还可以指定你只想1日checkbox执行脚本使用nth-child选择:

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

Demo

相关问题