单击按钮时,必须显示部分。
$('#info_fields').html( '<%= render partial: "investor_info_fields", locals: { f: f } %>');
部分形式。
<%= f.fields_for :investor_infos do |f| %>
<div class="nested-fields">
<%= f.label :name %> <br>
<%= f.text_field :name, label: "invested companies", class: "input-md form-control mb-20" %>
<%= f.label :investment_size_id, "Investment size" %> <strong> *</strong><br>
<%= f.collection_select :investment_size_id, InvestmentSize.all, :id, :size, {}, {class: "input-md form-control mb-20 startup_info_required"} %><br>
<%= f.label :investment_time_id, "Investment time" %> <strong> *</strong><br>
<%= f.collection_select :investment_time_id, InvestmentTime.all, :id, :time, {}, {class: "input-md form-control mb-20 startup_info_required"} %><br>
</div>
<% end %>
Jquery的:
$(".my-class").click(function() {
var whut=$(this).val();
($(this).val() == 4) {
$('#info_fields').html( '<%= render partial: "investor_info_fields", locals: { f: f } %>');
}
});
图像:
答案 0 :(得分:1)
在这里,您必须进行以下两项更改:
正如我在评论中提到的,如果您已经编写了脚本 在form_tag中,它不会起作用。所以在form_tag中删除你的脚本。
替换以下行:
$('#info_fields').html( '<%= render partial:
"investor_info_fields", locals: { f: f } %>')
使用:
$('#info_fields').html( '<%= j render partial:
"investor_info_fields", locals: { f: f } %>')
这里我在j
关键字前面添加了一个render
(又名escape_javascript),它可以帮助你渲染部分来自javascript,如果部分内部有一些ruby代码,除了简单的html代码。