3

jQuery-ui Selectmenu で遊んでいますが、grouped_collection_select. クラスを「selectmenu」に設定すると、Selectmenu は基本的な選択で機能します。基本的に、 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")%>

コーヒースクリプトで $('#user_state_id).addClass('selectmenu') を使用してクラスを追加できました。ただし、これにより、動的メニューが状態選択メニューのオプションを更新できなくなったようです。

私がここで見逃しているものについて何か考えはありますか? grouped_collection_select のクラスを設定するより良い方法はありますか。ソース コードを確認しましたが、:class=> in を使用してクラスが追加されていませんgrouped_collection_select

selectmenu: http://jquery-ui.googlecode.com/svn/branches/labs/selectmenu/index.html

4

1 に答える 1

4

grouped_collection_select9 つの引数を取ります。でオブジェクトを渡す場合、f引数は 8 つしか必要ありません。

最後の引数はhtml_options、配置する必要がある場所classです。これclassにより、selectフォームフィールド要素ではなく要素が取得されoptgroupますoption

<%= 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]">...
于 2012-09-24T22:22:09.010 に答える