0

嗨,我目前正在使用 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 %>
4

1 回答 1

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)
    }
  });
});

谢谢

于 2015-09-08T13:32:14.937 回答