您好我正在使用Collection_select,因为您可以看到它正常工作但我想制作它,所以当我从Item字段中选择1项来自我的数据库中的数据,购买价格和售价将自动添加到文本字段中,如下例所示。
但至于我怎么做,对我来说仍然是一个谜,任何人都可以帮助我,谢谢!任何帮助都会有所帮助!并再次感谢!
我使用的代码
<%= form_for(@sale) do |f| %>
<% if @sale.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@sale.errors.count, "error") %> prohibited this sale from being saved:</h2>
<ul>
<% @sale.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :item_id %><br>
<%= collection_select( :sale, :item_id, Item.all, :id, :name, {} ) %>
</div>
<div class="field">
<%= f.label :bought %><br>
<%= f.text_field :bought %>
</div>
<div class="field">
<%= f.label :sold %><br>
<%= f.text_field :sold %>
</div>
<div class="field">
<%= f.label :number %><br>
<%= f.number_field :number %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
答案 0 :(得分:1)
你可以通过发送ajax请求并从数据库中购买数据然后在各自的字段中显示“买入价格”和“卖出价格”来做到这一点。像这样的东西
$("#collection_select_id").change(function () {
$.ajax({
url: "your_url_where_you_get_your_data",
method: "GET",
data: {},
success: function(data) {
$("#bought_price_id").val(data.bought_price)
$("#sold_price_id").val(data.sold_price)
}
});
});
由于