Javascript 根据选择更改显示的字段

Javascript 根据选择更改显示的字段,javascript,jquery,ruby-on-rails,ruby,Javascript,Jquery,Ruby On Rails,Ruby,我有一个form.html.erb,其中包括: <%= nested_form_for(@store) do |f| %> <%= select_tag :type, options_for_select(['Book' , 'Magazine' , 'Video'])%> <%= f.fields_for :product_fields do |builder| %> <%= builder.text_field :type %&g

我有一个form.html.erb,其中包括:

<%= nested_form_for(@store) do |f| %>

  <%= select_tag :type, options_for_select(['Book' , 'Magazine' , 'Video'])%>

  <%= f.fields_for :product_fields do |builder| %>
    <%= builder.text_field :type %>
    <%= builder.text_area :content %>
    <%= builder.text_field :type %>
    <%= builder.text_area :content%>
    <%= builder.text_field :type %>
    <%= builder.text_area :content %>
  <% end %>

<% end %>

我想做的是,根据您在“选择”下拉列表中选择的内容,更改您获得的文本字段,同时仍保留rails关联。因此,例如,如果您选择“Book”,您可能会得到:

<%= builder.text_field :type %>
<%= builder.text_area :content %>
<%= builder.text_field :type %>
<%= builder.text_area :content %>
<%= builder.text_field :type %>
<%= builder.text_area :content %>
<%= builder.text_field :type %>
<%= builder.text_area :content %>
<%= builder.text_field :type %>
<%= builder.text_area :content %>

但如果选择“杂志”,您可能会得到:

<%= builder.text_field :type %>
<%= builder.text_area :content %>
<%= builder.text_field :type %>
<%= builder.text_area :content %>
<%= builder.text_field :type %>
<%= builder.text_area :content %>
<%= builder.text_field :type %>
<%= builder.text_area :content %>
<%= builder.text_field :type %>
<%= builder.text_area :content %>

我知道我可以通过调用jQuery hide()并在select change上显示它们来做到这一点,但是有没有更干净/更好的方法呢


谢谢你的帮助

您可以使用jQuery来解决这个问题。