我想显示一个使用占位符的多选框(没什么不寻常的)。我已经在列表中添加了一个空白项目,这样可以按预期显示占位符。
<select id="county_id" name="county_id" multiple="" tabindex="-1" class="select2-hidden-accessible" aria-hidden="true">
<option value="" selected="selected"></option>
<option value="1">Adams</option>
<option value="2">Ashland</option>
<option value="3">Barron</option>
但是当我在列表中选择一个项目时,一个空白框(第一个空白选项)显示为第一个选项,就在我选择的项目之前。请注意下面的第一个列表项:
<span class="select2-selection select2-selection--multiple" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" tabindex="0">
<ul class="select2-selection__rendered">
<span class="select2-selection__clear">×</span>
<li class="select2-selection__choice" title=""><span class="select2-selection__choice__remove" role="presentation">×</span></li>
<li class="select2-selection__choice" title="Kenosha"><span class="select2-selection__choice__remove" role="presentation">×</span>Kenosha</li>
如果我没有在列表前加上空白选项,则占位符不起作用,默认情况下会选择第一个列表项。
select2站点上最接近的示例使用选项组(我的列表没有),并且似乎没有空白选项。我不记得使用v3.5x遇到此问题。除占位符外,我没有设置任何选项。我能做错什么?我怎样才能摆脱这个额外的空白选择呢?
答案 0 :(得分:0)
您是否有机会使用Formtastic?我使用Formtastic来解决这个问题。如果没有,也许这可以帮助您走向正确的方向。我必须将:include_blank => false
传递给我的表单以删除空白元素。 docs说:prompt – by default, all select inputs will have a blank option at the top of the list. You can add a prompt with the :prompt option, or disable the blank option with :include_blank => false.
也许它与此类似?