我有一个看起来像的嵌套形式:
<% 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>
但这不起作用。我做错了什么?
感谢您的帮助!
答案 0 :(得分:1)
当您动态创建选择下拉列表时,您需要使用以下代码绑定更改事件:
<script type='text/javascript'>
$(function (){
$(document).on("change",".selectProduct", function (){
var selectValue = $(this).val();
alert(<%= render 'product_form/test', f:builder %>);
});
});
</script>