我需要更多信息,尤其是一些代码示例来真正帮助你。但是,这里有一些资源可以帮助您入门。当你写了一些东西后,请回来,我/其他人可以进一步帮助你:)
更新:如何动态填充下拉/选择菜单
好的,所以您想要的是有一个服装选择菜单(也称为下拉菜单),每次您选择一个类别时都会更新(在多选菜单中)。为此,您可以使用Railscasts #88 - Dynamic select menus (revised)中显示的方法,但让我在这里解释一下:
首先我们要创建视图:
<%= form_for @object do |f| %> # don't know what your form is for, but you can just change it accordantly
<%= f.collection_select(:category_ids, Category.all, :id, :name, {}, {:multiple => true, :id => 'category_select'})
<%= f.grouped_collection_select :apparel_id, Category.all, :apparels, :name, :id, :name, {}, {:id => 'appare} %>
<% end %>
然后我们在 assets 目录中添加一些 javascript:
jQuery ->
$('#apparel_select').hide() # hide the select menu
apparels = $('#apparel_select').html() # get all the apparels in groups (the option and optgroup tags)
$('#category_select').change -> # when selecting/deselecting a category, should we update the apparels select menu
categories = $('#sel9UX :selected').map -> # find the selected categories
$(this).text()
options = {}
$.each categories, (index, value) -> # find all the optgroups that should be shown
options[value] = $(apparels).filter("optgroup[label='#{value}']")
$('#apparel_select').html("") # empty the select menu
$.each options, (key, value) -> # add each category group we have selected
$('#apparel_select').append(value)
$('#apparel_select').show() # show the select menu again
这是用 jQuery 用 CoffeeScript 编写的。如果你不使用 CoffeeScript,那么写一个评论,我会尝试用普通的 javascript 语法来写。