我试图在单击某些单选按钮时禁用它们,因此我遵循了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 。
谢谢大家的时间和任何帮助:)