禁用所有除选定复选框以外

时间:2012-04-03 13:55:59

标签: jquery html

我必须禁用并启用三个复选框。 如果用户点击一个,则另一个将被禁用

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

所以我需要一个通过jquery

给我这个功能的函数

感谢您的建议

3 个答案:

答案 0 :(得分:7)

对于此类功能,您应该考虑使用radio buttons。与复选框相比,这些选项最适合互斥选项。

但是,如果您需要使用复选框,则可以使用以下内容:

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

http://jsfiddle.net/Curt/qGbtQ/1/


这是一个解决方案,它将取消选中除选定的所有选项(如单选按钮)

​$(function(){
    $(".rambo").change(function(){
       $(this).siblings().attr("checked", false);  
    });
});​

http://jsfiddle.net/Curt/qGbtQ/

答案 1 :(得分:2)

试试这个:

$(".rambo").change(function() {
    var $el = $(this);
    if ($el.is(":checked")) {
        $el.siblings().prop("disabled",true);
    }
    else {
        $el.siblings().prop("disabled",false);
    }
});

Example fiddle

答案 2 :(得分:1)

您可以尝试:

$('.rambo').click( function() {
    if ($(this).attr('checked')) {
        $(this).siblings().attr('disabled','disabled');   
    } else {
        $(this).siblings().removeAttr('disabled');   
    }
}​​);​

正如您在this jsfiddle

上看到的那样
相关问题