禁用Rails中的单选按钮

时间:2018-08-08 17:07:27

标签: javascript jquery ruby ruby-on-rails-4

我试图在单击某些单选按钮时禁用它们,因此我遵循了blog的介绍此解决方案的方法:http://jsfiddle.net/uj3Lg7sz/

所以我尝试在我的代码中实现这一点。乍看之下似乎是可行的,当页面被加载Group被选中并且Schools Status的单选按钮被禁用时,当我切换到School时,单选按钮被启用了。但是,如果我改变主意并再次选择Group,则在重新加载页面之前,它们不会再次禁用。

我试图总结代码,但是如果您需要完整的内容,可以找到它here

<div id="school_information">
  <div class="form-group col-xs-8 radio-type" style="padding-left: 0">
    <%= f.label :group, 'Registration Type'%>
      <%= f.hidden_field(:group) %>
        <div class="radio">
          <label>
            <input class="radio_school_group" type="radio" name='group' id="group_0" value="1" checked>Group</label>
        </div>
        <div class="radio">
          <label>
            <input class="radio_school_group" type="radio" name='group' id="group_1" value="0">School</label>
        </div>
  </div>
  <div class="second">
    <%= render :partial => 'school_profile_type_collections', :locals => {f: f} %>
  </div>
  <div class="form-group col-xs-8 radio-type" style="padding-left: 0">
    <%= f.label :active, 'School status'%>
      <%= f.hidden_field(:active) %>
        <div class="radio">
          <label>
            <input type="radio" class="second" name='active' id="active_1" value="1">Active</label>
        </div>
        <div class="radio">
          <label>
            <input type="radio" class="second" name='active' id="active_0" value="0">Inactive</label>
        </div>
        <div class="radio">
          <label>
            <input type="radio" class="second" name='active' id="active_2" value="2">Blocked</label>
        </div>
  </div>
</div>
<script>
  $(document).ready(function() {
    // By Default Disable radio button
    $(".second").attr('disabled', true);
    $(".wrap").css('opacity', '.2'); // This line is used to lightly hide labelfor disable radio buttons.
    // Disable radio buttons function on Check Disable radio button.
    $("form input:radio").change(function() {
      if ($(this).val() == "Disable") {
        $(".second").attr('checked', false);
        $(".second").attr('disabled', true);
        $(".wrap").css('opacity', '.2');
      }
      // Else Enable radio buttons.
      else {
        $(".second").attr('disabled', false);
        $(".wrap").css('opacity', '1');
      }
    });
  });
</script>

我正在使用 ruby​​ 2.2.10 rails 4.2.10

谢谢大家的时间和任何帮助:)

0 个答案:

没有答案