如何基于以简单形式检查的单选按钮呈现输入表单

时间:2018-03-25 11:31:55

标签: javascript jquery ruby-on-rails radio-button 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>

1 个答案:

答案 0 :(得分:1)

只需将change事件绑定到您的单选按钮,然后添加/删除表单组的特定类:

$(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类下。

.form-group--inactive { display: none; }