我正在尝试在我的 Rails 应用程序中使用引导多选。
在我使用它的视图中,我初始化插件
<script type="text/javascript">
$(document).ready(function() {
$('.multiselect').multiselect();
});
</script>
它似乎使用演示 html 工作:
<select class="multiselect" multiple="multiple">
<option value="cheese">Cheese</option>
<option value="tomatoes">Tomatoes</option>
<option value="mozarella">Mozzarella</option>
<option value="mushrooms">Mushrooms</option>
<option value="pepperoni">Pepperoni</option>
<option value="onions">Onions</option>
</select>
这很棒,但我无法让它与我的 Rails 选择代码一起使用。这是我的尝试:
<%= f.fields_for :sizes do |size_fields| %>
<%= size_fields.label :scale_id, simple_pluralize(@miniset.scales.count, 'Scale') %>
<%= hidden_field "Set Scale", @miniset.sizes %>
<div class = "form-inline"><%= size_fields.select :scale_id, options_from_collection_for_select(Scale.all, :id, :name, @miniset.scales.map(&:id)), {include_blank: '', :class => 'multiselect', :multiple => true} %>
<% end %></div>
我认为问题在于:class => 'multiselect', :multiple => true
它不会以与调用相同的方式调用 JQuery,<select class="multiselect" multiple="multiple">
但我想必须有一种方法可以使这项工作。非常感谢任何帮助。
编辑:我应该补充一点,我的选择正在显示,它只是没有作为此处看到的预期智能多选之一出现。
编辑2:浏览器显示的选择代码是:
<label for="miniset_sizes_attributes_0_scale_id">Scales</label>
<input id="Set_Scale_#<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Size:0x007fcf644c0c08>" name="Set Scale[#<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Size:0x007fcf644c0c08>]" type="hidden" />
<div class = "form-inline"><select id="miniset_sizes_attributes_0_scale_id" name="miniset[sizes_attributes][0][scale_id]"><option value=""></option>
<option value="1">28mm</option>
<option value="2">54mm</option>
<option value="3">6mm</option>
<option value="4">15mm</option>
<option value="5">1/76</option></select>
</div>
那里没有多选或多选的迹象。唔。