如何根据 rails 简单表单中选中的单选按钮呈现输入表单
How to render input form based on radio button checked in rails simple form
我有两个单选按钮选项,我想根据使用 JQuery 单击哪个单选按钮来显示输入表单。这是我的单选按钮的简单表单输入
<div class="form-group">
<label class="col-md-1 control-label"></label>
<div class="col-md-9">
<%= f.input :job_application_type, as: :radio_buttons, collection: [['Apply By Email', 'Email'], ['Apply By Url', 'Url']], :label => "How to apply" %>
</div>
</div>
如果第一个单选按钮被选中,我想显示这个输入
<div class="form-group show-job-email" style="display:none">
<label class="col-md-1 control-label"></label>
<div class="col-md-9">
<%= f.input :job_email, :label => "Job Email" %>
</div>
如果是第二个单选按钮,我想显示这个输入
<div class="form-group show-job-url" style="display:none">
<label class="col-md-1 control-label"></label>
<div class="col-md-9">
<%= f.input :job_url, :label => "Job Url" %>
</div>
只需像这样将 change
事件绑定到您的单选按钮,然后 add/remove 一个特定的 class 用于您的表单组:
$(document).ready(function() {
$('input[type="radio"][name="job_application_type"]').change(function() {
if (this.value == 'Email') {
$('.form-group.show-job-url').addClass('form-group--inactive');
$('.form-group.show-job-email').removeClass('form-group--inactive');
}
else if (this.value == 'Url') {
$('.form-group.show-job-url').removeClass('form-group--inactive');
$('.form-group.show-job-email').addClass('form-group--inactive');
}
});
});
从表单组中删除您的样式,并将其放在 css 文件中 form-group--inactive
class 下。
.form-group--inactive { display: none; }
我有两个单选按钮选项,我想根据使用 JQuery 单击哪个单选按钮来显示输入表单。这是我的单选按钮的简单表单输入
<div class="form-group">
<label class="col-md-1 control-label"></label>
<div class="col-md-9">
<%= f.input :job_application_type, as: :radio_buttons, collection: [['Apply By Email', 'Email'], ['Apply By Url', 'Url']], :label => "How to apply" %>
</div>
</div>
如果第一个单选按钮被选中,我想显示这个输入
<div class="form-group show-job-email" style="display:none">
<label class="col-md-1 control-label"></label>
<div class="col-md-9">
<%= f.input :job_email, :label => "Job Email" %>
</div>
如果是第二个单选按钮,我想显示这个输入
<div class="form-group show-job-url" style="display:none">
<label class="col-md-1 control-label"></label>
<div class="col-md-9">
<%= f.input :job_url, :label => "Job Url" %>
</div>
只需像这样将 change
事件绑定到您的单选按钮,然后 add/remove 一个特定的 class 用于您的表单组:
$(document).ready(function() {
$('input[type="radio"][name="job_application_type"]').change(function() {
if (this.value == 'Email') {
$('.form-group.show-job-url').addClass('form-group--inactive');
$('.form-group.show-job-email').removeClass('form-group--inactive');
}
else if (this.value == 'Url') {
$('.form-group.show-job-url').removeClass('form-group--inactive');
$('.form-group.show-job-email').addClass('form-group--inactive');
}
});
});
从表单组中删除您的样式,并将其放在 css 文件中 form-group--inactive
class 下。
.form-group--inactive { display: none; }