2017-02-12 81 views
0

我有3个div组,每个组包含一个单选按钮,一个标签和一个按钮。 我希望能够启用与所选单选按钮相同的组中的按钮,并禁用其他组的按钮。如何根据选择哪个单选按钮来禁用按钮?

<div class="row"> 
    <div class="col-md-6"> 
    <!-- when this radio button is checked... --> 
    <input id="input-1" type="radio" name="disable-button" checked="checked"> 
    <label for="input-1">Input 1</label> 
    <!-- this button is enabled --> 
    <button type="button">ADD</button> 
    <!-- ...and vice versa --> 
    </div> 
    <div class="col-md-6"> 
    <!-- when this radio button is not checked... --> 
    <input id="input-2" type="radio" name="disable-button">   
    <label for="input-2">Input 1</label> 
    <!-- ...this button should be disabled --> 
    <button type="button" disabled>ADD</button> 
    <!-- ...and vice versa --> 
    </div> 
    <div class="col-md-6"> 
    <!-- when this radio button is not checked... --> 
    <input id="input-3" type="radio" name="disable-button"> 
    <!-- ...this button should be disabled --> 
    <label for="input-3">Input 1</label> 
    <button type="button" disabled>ADD</button> 
    <!-- ...and vice versa --> 
    </div> 
</div> 

有没有办法通过jQuery来做到这一点?

编辑:我希望解决方案是动态的,如果可能的话,我不得不添加更多的组。

回答

1

我会用下面的jQuery代码:

$('input[type=radio]').change(function(){ 
    $('button').prop('disabled', true); 
    $(this).parent().find('button').prop('disabled', false); 
}); 

https://jsfiddle.net/dotspencer/6reL64ss/

+0

谢谢,它的工作原理就像一个魅力。 –

0

之后添加以下代码的父div块。

$(input[type=radio]).change(function(){ 
    $(this).is(':checked') && $(this).parent().find('button').prop('disabled', false) || $(this).parent().find('button').prop('disabled', true); 
    });