【发布时间】:2018-10-03 19:06:00
【问题描述】:
我在 jquery/rails 中渲染元素时遇到问题。
我想做这样的事情:
当用户点击“+”按钮时,应在默认字段下方呈现另一个具有选择成分的字段(因为饮料可以有很多成分,而我不想指定数量)。
我想不通,所以我不得不寻求帮助。
views/drinks/new.html.erb
<%= form_for @drink do |f| %>
<div class="form-group">
<%= f.label :name %><br />
<%= f.text_field :name, class:'form-control' %><br />
</div>
<div class="form-group">
<%= f.label :category %><br />
<%= f.select :category_id, Category.all.collect {|x| [x.name, x.id]}, {:include_blank => 'Select One'}, class:'form-control' %><br /><br />
</div>
<div class="form-group", id: "add-ingredients">
<%= f.label :ingredient %><br />
<%= f.select :ingredient_id, Ingredient.all.collect {|x| [x.name, x.id]}, {:include_blank => 'Select Few'}, class:'form-control' %><%= f.button "+", class:'btn btn-primary', id: 'btn-ingredients' %><br />
</div>
<div class="form-group">
<%= f.label :preparation %><br />
<%= f.text_area :preparation, class:'form-control'%><br />
</div>
<%= f.submit "Submit", class:'btn btn-primary' %>
<%= link_to "Cancel", drinks_path, class:'btn btn-default' %>
<% end %>
application.js
$(document).ready(function(){
$('#btn-ingredients').click(function(){
$('#add-ingredients').append('<%= render("form-group") %>');
});
});
我尝试了很多次,这可能很容易,但我是新手,没有其他想法。
【问题讨论】:
-
你可能想试试github.com/nathanvda/cocoon 之类的东西
标签: javascript jquery ruby-on-rails ruby