Javascript 在rails中选择产品时设置价格值

Javascript 在rails中选择产品时设置价格值,javascript,jquery,ruby-on-rails,ajax,Javascript,Jquery,Ruby On Rails,Ajax,我是新手。我对如何设置价格的默认值有疑问 代码如下: <%= simple_form_for(@order) do |f| %> <%= f.error_notification %> <%= f.input :customer_id, collection: Customer.all, %> <%= f.simple_fields_for :items do |i| %> <%= render 'item_fiel

我是新手。我对如何设置价格的默认值有疑问

代码如下:

<%= simple_form_for(@order) do |f| %>
  <%= f.error_notification %>

  <%= f.input :customer_id, collection: Customer.all, %>
  <%= f.simple_fields_for :items do |i| %>
      <%= render 'item_fields', :f => i %>     
  <% end %>
    <%= link_to_add_association '+ product, f, :items %>

<% end %>
部分项目字段表单:

<%= f.input :qty %>
<%= f.select :product_id, Product.all.map { |p| [p.name, p.id }, { include_blank: true } %>
<%= f.text_field :price %>
<%= link_to_remove_association image_tag("delete.png") %>    
计划是在选择产品时设置价格值,以便保存。尝试了很多方法却没有成功

产品表包含名称、价格字段

我需要你的帮助来完成这件事。 最好的方法是什么?Ajax、javascript


任何帮助都将不胜感激。

基本上,当您选择一个产品id时,会设置一个价格,而不会向服务器发送任何东西?您需要JavaScript/JQuery来实现这一点


规则是,当您希望在不访问服务器的情况下实时更改某些内容时,可以使用JavaScript。类似于$'.product_id'。在'change'上,函数{$'.price_field.value=$'.product_id.data'price}或类似的东西对JQuery有点生疏,但我认为从这里可以管理。

product.all.collect{p.name,p.id,{data-price'=>p.price}
然后您可以通过$'.product\u id.data'price'

访问它,我终于让onchange工作了,但是{$'.price\u字段.value=$'.product\u id.data'price}仍然无法工作。我发现了另一个完全有效的例子,但不知怎么的,当我把它添加到js中时,它就不起作用了。我遗漏了什么吗?通常应该有测试。但是我还没有做过JS测试,所以我要做的是在Chrome控制台中注销console.log,这样我至少可以知道发生了什么。当在嵌套表单上使用它时,会出现新问题。我无法使用$'.product_id.数据'price'访问它。我应该使用它的id.productselect。问题是,当我使用它的ID时,每当我添加新产品时,价格都将与选择的第一个产品相同。