1
你好,我有一个窗体来创建一个产品。用户应该能够选择类别(例如T恤),然后T恤的所有尺寸(例如S,M,L)应该下降。用户可以输入他们每个尺寸的数量。选择类别,然后显示Category.sizes
JavaScript不为此工作。用户可以选择一个类别,但尺寸不会下降。任何人都能看到为什么我知道Rails,但我不知道JS。
当我检查我可以在HTML中看到的大小的视图。
这是我的看法
<%= javascript_include_tag "custom" %>
<div class="container">
<div class=“row”>
<div class="col-md-6 col-md-offset-3">
<div class="panel panel-primary">
<div class="panel-body">
<%= simple_form_for @product_form, as: :product_form, url: products_path do |f| %>
<%= f.collection_select :category_id, @categories, :id, :name, include_blank: true, :prompt => "Select One Category" %>
<% @categories.each do |category| %>
<div class='sizes_container' id ='sizes_container_for_<%= category.id %>'>
<% category.sizes.each do |size| %>
<%= f.hidden_field :size_id, value: size.id %>
<%= size.title %>
<%= f.input :quantity %>
<% end %>
</div>
<% end %>
<%= f.input :title, label:"Title"%>
<%= f.input :price, label:"Price"%>
<%= f.input :description,label:"Description" %>
<%= f.input :tag_list,label:"Tags - Seperate tags using comma ','. 5 tags allowed per product" %>
<%= f.button :submit, "Create new product", class: "btn-lg btn-success" %>
<% end %>
</div>
</div>
</div>
</div>
</div>
这里是JS
this.products = {
updateCategory: function() {
var id = $('#product_category_id').val();
$('.sizes_container').hide();
$('#sizes_container_for_' + id).show();
}
};
$(function() {
products.updateCategory();
$('#product_category_id').on('change', products.updateCategory);
});