好吧,我正在尝试在部分内部进行动态组合选择。并且批次号的值保持不变,即我在部分的第一部分其余部分中选择的任何批次号都具有相同的值。
代码如下
形式
<%= nested_form_for(@bill) do |f| %>
<%= f.label :name %><br />
<%= f.text_field :name %>
<%= f.link_to_add "add product", :bill_line_items %>
<%= f.submit %>
<% end %>
部分的
<%= javascript_include_tag 'testing' %>
<div class ="kool">
<div class ="name"><%= f.label :product_id %>
<%= f.collection_select :product_id,Product.all ,:id,:name, :style => 'width:150px;'%></div><br />
<div class="list">
<%= f.label :batch_no %><br />
<%= f.grouped_collection_select :batch_no, Product.all, :store_opening_stocks, :id, :batch_no, :batch_no %><br/></div>
</div>
JS文件
jQuery(document).ready(function(){
var batchNo = jQuery('.list').html();
jQuery('.name').bind('change',function() {
var productSelected = jQuery('.name:selected').val();
var options = jQuery(batchNo).find("optgroup[label='" + productSelected + "']").html();
jQuery('.list select').html(options);
});
});
选择产品前的屏幕截图
屏幕截图 选择产品并单击添加产品后
重新选择产品后的屏幕截图
如您所见,产品 2 组,即 P1 和 P2(产品 2 的批号)出现在第二部分和第三部分中。以及任何更改产品的尝试,批号显示为空,如图所示。
我该如何解决这个问题?我应该使用Parent
某处或this
选项吗?需要指导。
提前致谢。:)