我在表单上使用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
这可以通过自定义输入实现吗?或者其他任何方式?
答案 0 :(得分:0)
我认为您不需要自定义输入或content_for助手。将CSS类分配给您想要select2
的输入,例如with_select2
。接下来,为它们分配一个指定minimumResultsForSearch
值的数据属性,例如data-minimum-results
。在document.ready
上,然后循环浏览类with_select2
的所有输入,并使用数据属性中的select2
调用minimumResultsForSearch
。