首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >selectize.js lockOptgroupOrder抛出异常

selectize.js lockOptgroupOrder抛出异常
EN

Stack Overflow用户
提问于 2018-10-23 21:08:47
回答 1查看 219关注 0票数 0

我在设置optgroup的地方有一个选择,给他们一个$order,然后尝试设置lockOptgroupOrder,这最终抛出了一个异常:"Uncaught :无法读取未定义的属性'$order‘“。

在我尝试使用lockOptgroupOrder之前,这一切都是完美的(除了排序错误)。当我将$order作为optgroup的一部分传递给$order时,我不明白为什么它找不到$order。(我也尝试过设置optgroupOrder: ['first', 'recents', 'favorites', 'all']却没有运气。)

代码语言:javascript
复制
var stuff = $('#stuff').selectize({
    optgroups: [
        {value: 'first', label: '', $order: 1},
        {value: 'recents', label: 'Recents', $order: 2},
        {value: 'favorites', label: 'Favorites', $order: 3},
        {value: 'all', label: 'All', $order: 4}
    ],
    optgroupField: 'type',
    lockOptgroupOrder: true,
    //more things like load() and onChange()...
}); 

错误:

它打破了这个循环:

我已经用尽了所有其他形式的研究这个错误。以前有人遇到过这种情况吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-25 15:53:43

因此,在谷歌搜索、chrome调试和大哭之后,我发现了这个问题,现在我发布了我的解决方案,以防其他人遇到这个错误。

多亏了这个讨论板:

lockOptgroupOrder破坏onChange

我能够拼凑出我的一个数据元素缺少一个“类型”字段(optgroupField)。在意识到这实际上是我添加到select中的默认选项之前,我遍历了所有的1350个选项,然后才将它转换为选择。在这种情况下,我需要这个选项来保留,所以我不能就这样去掉那行html。但我也不能在选项中添加"type“属性,甚至不能添加数据类型属性,它不会传递它。

最后,我从这个讨论板上发现:

向selectize.js选项中添加数据属性

我可以分配一个数据数据属性并传递给它名称和值,然后当它变成选择时,它会传递这个属性。因此,我的最后一个解决方案是在选项变成选择之前添加我需要的内容:

<option selected disabled value="default" data-data='{"type":"first"}'>The Stuff</option>

希望这能帮助其他可怜的灵魂在将来不必经历这一切。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52957886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档