在选择更改时部分渲染轨道

时间:2014-06-18 04:45:44

标签: javascript jquery ruby-on-rails ruby

我有一个看起来像的嵌套形式:

<% form_for @store, do |f| %>
   <%= f.fields_for :products do |builder| %>
      <%= builder.select :typeis, %w[test test1 test2], {}, class: "select_product" %>
      <div class='productHere'></div>
   <% end %>
<% end %>

基本上,我想做的是onChange of select,取select的值并渲染部分像:

<%= f.hidden_field :name, value: "blah" %>

使用该值。因此,如果select的值为 test1 ,我想渲染_test1.html.erb。

我已经尝试过:

<script type='text/javascript'>
  $(function (){
     $(".select_product").on("change", function (){
        alert(<%= render 'product_form/test', f:builder %>);
     });
  });
</script>

但这不起作用。我做错了什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

当您动态创建选择下拉列表时,您需要使用以下代码绑定更改事件:

<script type='text/javascript'>
  $(function (){
     $(document).on("change",".selectProduct", function (){
        var selectValue = $(this).val();
        alert(<%= render 'product_form/test', f:builder %>);
     });
  });
</script>