【发布时间】:2015-03-06 15:58:18
【问题描述】:
我正在使用 rails4。我想根据表单中选择的类别显示子类别列表。我已经完成了 java-script,但我认为它不是一个好的解决方案。请建议我该怎么做?
我希望用户从中选择一个类别
<div class="field">
<%= f.label :Category %><br>
<%= f.collection_select :category_id, Category.all, :id, :name, { :prompt => true, :selected => @product.category_id } %>
</div>
之后,下一个字段将根据用户选择进行更新。目前我已经隐藏了这些#women_category & #men_category
<div class="field" id="women_category">
<%= f.label :sub_category %><br>
<%= f.collection_select :sub_category_id, @first_category.sub_categories.all,:id ,:name%>
</div>
<div class="field" id="men_category">
<%= f.label :sub_category %><br>
<%= f.collection_select :sub_category_id, @second_category.sub_categories.all,:id ,:name%>
</div>
现在当用户选择 category_id=1 时,我会显示 #women_category,如果用户选择 category_id =2,则会在 javascript 的帮助下显示 #men_category
$("select[name='product[category_id]']").change(function(){
if(this.value == '1'){
$("#women_category").show();
$("#men_category").hide();
}else if(this.value == '2'){
$("#women_category").hide();
$("#men_category").show();
}
});
如果我的类别列表增加,它会很复杂,所以我可以在没有这么多复杂的情况下编写代码吗?请帮忙。
【问题讨论】: