select2 - 如果多个选项共享一个值,则返回不正确的选定选项
select2 - incorrect selected option returned if multiple options share a value
我有一个具有多个选择组的选择元素,其中不同选择组中的选项可能具有相同的值。例如(请参阅"苹果"和"马铃薯"选项):
<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 并选择"Potato"时,$('#food_select').find(:selected)
返回"Apple"选项,这是第一个值为"1"的选项。
所有其他选定的选项都可以正常工作,因此 select2 似乎没有正确处理重复值。我创建了一个JSFiddle来演示这种行为,地址是:http://jsfiddle.net/e57m9cax/。
是否有针对此行为的解决方法或修复程序?
我可以将其拆分为两个单独的选择元素,但出于 UX 原因,我宁愿不这样做。任何方向将不胜感激。
谢谢。
来自 select2 的合作者 Kevin Brown:
这是一个已知问题,由于 3.5 的内部结构,无法在 3.x 版本中修复。
幸运的是,它在 4.0 中得到了修复,它将很快进入第一个测试版
因此,解决方案是使用单独的选择,直到 select2 4.0 发布。
相关文章:
- 为什么数据列表选项的id返回空值
- 引导选项卡不适用于历史记录.返回选项
- 在 jquery 选项卡中查找 span 标记并返回该索引
- 选择选项的值将在表单上返回 erro 时丢失
- 当我点击浏览器返回选项时,阻止在php上刷新页面
- 辅助功能键盘专用选项卡到z索引“;返回顶部”;
- 使用jquery取消隐藏或返回多选时的选定选项
- 引导程序3:返回页面刷新的下拉选项卡
- 自定义Div滑块运行过快,但仅当从另一个浏览器选项卡返回时
- Appcelerator 中的自定义选项卡栏 - 如何返回到根窗口
- 纯 JS 获取所选选项数据属性值返回 Null
- select2 - 如果多个选项共享一个值,则返回不正确的选定选项
- 函数,使用 React 返回带有选项的选择
- 自定义车把.js助手不返回选项.fn
- 如何在 asp.net 中使用角度选项卡返回上一页
- 当选项卡加载火狐插件SDK时返回函数
- 锤子.js 2.0 使用 jquery 插件时不返回事件选项
- 对多个选项进行筛选数组以在新选择中返回选项
- 如何从angularjs指令中的ng选项返回对象的索引
- Bookshelf js fetch withRelated选项返回空关系对象