我有茧宝石工作并在我的应用程序中正确添加\删除部分。我添加了动态下拉列表来过滤 cocoon 创建的部分中的选择标签。第一个下拉列表使用 javascript 过滤第二个下拉列表,但仅适用于 cocoon 创建和添加的第一个部分(项目)。谁能帮我弄清楚确保这对茧创建的每个部分都有效的最佳方法是什么,而且我可以根据我想要过滤的次数多次更改第一个下拉列表?
这是 cocoon 每次添加项目时创建的部分代码:
<script type="text/javascript">
$('.div_add').bind('click', function() {
var allOptions = $('#selectprod option')
$('#selectcat').change(function () {
$('#selectprod option').remove()
var classN = $('#selectcat option:selected').prop('class');
var opts = allOptions.filter('.' + classN);
$.each(opts, function (i, j) {
$(j).appendTo('#selectprod');
});
});
});
</script>
<div class="col-lg-3 col-md-3 col-sm-4 col-xs-6 form-font div_add">
<div class="prodselectbox">
<div class="floatleft cat">Board Type</div>
<div class="floatleft catid">
<select id="selectcat" name="board_type" class="ship_nice_select">
<option value="" class="rhth">Select Board Type</option>
<option>all options for first dropdown</option>
<option class="Some" id="selectionone">Some</option>
<option class="Some2" id="selectionone">Some2</option>
</select>
</div>
</div>
</div>
<div class="col-lg-3 col-md-3 col-sm-4 col-xs-6 form-font div_add">
<div class="floatleft artid">Part Number</div>
<div class="floatleft selectarticle">
<select id="selectprod" name="part_num" class="ship_nice_select">
<option value="" class="rhth23">Select Part Number</option>
<% @items_some = Item.where(board_type: "Some") %>
<% @items_some.each do |i| %>
<option class="selectors Some">
<%= i.part_num %>
</option>
<% end %>
<% @items_some2 = Item.where(board_type: "Some2") %>
<% @items_some2.each do |i| %>
<option class="selectors Some2">
<%= i.part_num %>
</option>
<% end %>
</select>
</div>
</div>