我一直在使用jQuery-ui Selectmenu,但尚未使其能够与grouped_collection_select一起使用。当我将类设置为“selectmenu”时,Selectmenu与基本select一起使用,我已经将其设置为jQuery-ui。基本上,我正在努力将Class添加到grouped_collection_select

我努力了:<%= f.grouped_collection_select(:state_id, Country.order(:id), :categories, :name, :id, :name, {:include_blank=>true, :class=>"selectmenu"})%>
<%= f.grouped_collection_select(:state_id, Country.order(:id), :categories, :name, :id, :name, :class=>"selectmenu")%>
我可以在我的coffeescript中使用$('#user_state_id).addClass('selectmenu')添加类。但是,这似乎导致我的动态菜单无法更新“状态”选择菜单的选项。

对我在这里缺少什么有任何想法吗?是否有更好的方法为grouped_collection_select设置类。我检查了源代码,并没有使用grouped_collection_select中的:class =>添加类。

选择菜单:
http://jquery-ui.googlecode.com/svn/branches/labs/selectmenu/index.html

最佳答案

grouped_collection_select接受9个参数。如果要使用f传递对象,则只需八个参数。

最后一个参数是html_options,您需要在其中放置class。这将使您在class表单字段元素上获得select,但在optgroupoption元素上却没有。

<%= f.grouped_collection_select(:state_id, Country.order(:id), :categories, :name, :id, :name, { :include_blank => true }, { :class=> "selectmenu" }) %>

如果没有:include_blank => true,它将看起来像这样:
<%= f.grouped_collection_select(:state_id, Country.order(:id), :categories, :name, :id, :name, {}, { :class=> "selectmenu" }) %>

哪个应该让您:
<select class="selectmenu" id="object_state_id" name="object[state_id]">...

10-06 14:19