【发布时间】:2014-01-28 15:39:19
【问题描述】:
我正在尝试在我的 rails 应用程序中使用 bootstrap multiselect。
在我使用它的视图中,我使用它初始化插件
<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"> 不同,但我想一定有办法让这项工作发挥作用。非常感谢任何帮助。
编辑:我应该补充一点,我的选择已显示,它只是没有显示为预期的智能多选之一,如 here 所示。
编辑 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>
那里没有多选或多选的迹象。嗯。
【问题讨论】:
标签: jquery ruby-on-rails ruby-on-rails-4 bootstrap-multiselect