【问题标题】:Rails collection_select , and value automatically added in textfieldRails collection_select 和文本字段中自动添加的值
【发布时间】:2023-03-06 15:26:01
【问题描述】:

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

【问题讨论】:

    标签: textfield ruby-on-rails-4.2 collection-select


    【解决方案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)
        }
      });
    });
    

    谢谢

    【讨论】:

    • 嗨,我如何发送一些 ajax,对不起,我对 rails 有点陌生
    • 您可以简单地在您的视图文件中执行此操作,例如在视图末尾添加“javascript”标签,然后您可以在那里编写您的 ajax 请求。或按照本教程pragmaticstudio.com/blog/2015/3/18/rails-jquery-ajax
    猜你喜欢
    • 2014-11-23
    • 1970-01-01
    • 2022-12-16
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-18
    相关资源
    最近更新 更多