我有一个包含多个optgroup的select元素,其中不同optgroup中的选项可能具有相同的值。例如(请参阅' Apple'和' Potato'选项):
<select data-placeholder="Fruit/Veg" id="food_select">
<option value=""></option>
<optgroup label="Fruits">
<option data-params="{'selected_type':'Fruit'}" value="1">Apple</option>
<option data-params="{'selected_type':'Fruit'}" value="2">Pear</option>
<option data-params="{'selected_type':'Fruit'}" value="3">Banana</option>
</optgroup>
<optgroup label="Veg">
<option data-params="{'selected_type':'Veg'}" value="1">Potato</option>
<option data-params="{'selected_type':'Veg'}" value="4">Cabbage</option>
<option data-params="{'selected_type':'Veg'}" value="5">Bean</option>
</optgroup>
</select>
使用普通选择,尝试使用jQuery查找所选选项会产生正确的结果。
$('#food_select').find(:selected)
但是,当应用select2时,&#39; Potato&#39;已被选中,$('#food_select').find(:selected)
会返回&#39; Apple&#39;选项,这是第一个选项,其值为&#39; 1&#39;。
所有其他选定的选项都正常工作,因此似乎select2未正确处理重复值。我在http://jsfiddle.net/e57m9cax/创建了一个演示此行为的JSFiddle。
是否有针对此行为的解决方法或修复方法?
我可以将它分成两个单独的选择元素,但不是因为UX的原因。任何方向都会受到赞赏。
感谢。
答案 0 :(得分:0)
来自Kevin Brown的合作者:
这是一个已知问题,由于内部结构的结构如何为3.5,因此无法在3.x版本中修复。
幸运的是,它已经修复了4.0,很快就会进入第一个测试阶段
因此解决方法是在select2 4.0发布之前使用单独的选择。