如何根据选择的单选按钮禁用按钮?

时间:2017-02-12 23:14:34

标签: jquery html

我有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做到这一点?

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

2 个答案:

答案 0 :(得分:1)

我会使用以下jQuery代码:

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

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

答案 1 :(得分:0)

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

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