Jquery 嵌套表单集合\u选择新值覆盖以前选择的值

Jquery 嵌套表单集合\u选择新值覆盖以前选择的值,jquery,ruby-on-rails-3,nested-forms,Jquery,Ruby On Rails 3,Nested Forms,嵌套形式 <%= nested_form_for(@bill) do |f| %> <p><%= f.link_to_add "Add Product", :bill_line_items %> </p> Rails 3.2问题: 第二次单击添加产品&选择产品 当我们选择第二个产品时,第二个产品的价格将覆盖第一个所选产品的价格。 请求帮助。这是我找到的解决方案。我相信这是一个非常糟糕的方法,但它可以完成工作 jQuery(document).r

嵌套形式

<%= nested_form_for(@bill) do |f| %>

<p><%= f.link_to_add "Add Product", :bill_line_items %> </p>
Rails 3.2问题: 第二次单击添加产品&选择产品 当我们选择第二个产品时,第二个产品的价格将覆盖第一个所选产品的价格。
请求帮助。

这是我找到的解决方案。我相信这是一个非常糟糕的方法,但它可以完成工作

jQuery(document).ready(function(){
  jQuery("customer-outer").delegate("select", "change", function(event){
    var selectElement = jQuery(this);
    var productId = selectElement.val();
    var price = eval(selectElement.data('prices'))[productId];
    var lineItemWrapperElement = selectElement.parent().parent();
    jQuery("input.price", lineItemWrapperElement).val(price);
  });
});

customer outer是div定义的new.html和edit.html类。如果有人找到合适的解决方案,请分享。

这就是我找到的解决方案。我相信这是一个非常糟糕的方法,但它可以完成工作

jQuery(document).ready(function(){
  jQuery("customer-outer").delegate("select", "change", function(event){
    var selectElement = jQuery(this);
    var productId = selectElement.val();
    var price = eval(selectElement.data('prices'))[productId];
    var lineItemWrapperElement = selectElement.parent().parent();
    jQuery("input.price", lineItemWrapperElement).val(price);
  });
});

customer outer是div定义的new.html和edit.html类。如果有人找到了合适的解决方案,请分享。

如果问题是客户端,发布html而不是服务器脚本我已经发布了jquery脚本。我相信这与“类”有关……上面的表单是ruby on Rails中的客户端视图html在哪里?javascript在html而不是服务器代码上工作如果问题是客户端,发布html而不是服务器脚本我已经发布了jquery脚本..我相信这与“类”有关…上面的表单是ruby on Rails中的客户端视图html在哪里?javascript适用于html而不是服务器代码
jQuery(document).ready(function(){
  jQuery("customer-outer").delegate("select", "change", function(event){
    var selectElement = jQuery(this);
    var productId = selectElement.val();
    var price = eval(selectElement.data('prices'))[productId];
    var lineItemWrapperElement = selectElement.parent().parent();
    jQuery("input.price", lineItemWrapperElement).val(price);
  });
});