0

フォームでselect2を使用しています。しかし、アプリケーション全体でそれを使用したい。

この部分はapplication.html.erbにあります

<script type="text/javascript">
  $(document).ready(function() {
    <%= yield :document_ready %>
  });
</script>

そしてこれは私の見解では:

<% content_for :document_ready do %>
  $("#menu_category_id").select2({minimumResultsForSearch: 10});
<% end %>

これは、ビューの実際の入力です。

<%= f.input :menu_category_id, :collection => @product.menu.menu_categories, 
  :label_method => :name, :value_method => :id, :label => "Category" %>

これは問題なく動作します。ただし、これをすべてのビューで繰り返したくないので、simple_viewで処理したいと思います。

私が使用する場合はそれが最善でしょう:

<%= f.input :menu_category_id, :collection => @product.menu.menu_categories, 
:label_method => :name, :value_method => :id, :label => "Category", 
:select2 => 'minimumResultsForSearch: 10' %>

自動的に:document_ready部分に配置されます。したがって、ページに3つの選択がある場合、:select2で指定されているすべてのオプションを使用してすべての選択を実行します。

これはカスタム入力で可能ですか?または他の方法?

4

1 に答える 1

0

ここでは、カスタム入力やcontent_forヘルパーは必要ないと思います。必要な入力にCSSクラスを割り当てselect2ますwith_select2。次に、minimumResultsForSearch値を指定するデータ属性を割り当てますdata-minimum-resultsdocument.ready次に、クラスを使用してすべての入力をループし、fromdata属性を使用してそれらをwith_select2呼び出します。select2minimumResultsForSearch

于 2012-12-31T13:36:16.633 に答える