我在设置optgroup的地方有一个选择,给他们一个$order,然后尝试设置lockOptgroupOrder,这最终抛出了一个异常:"Uncaught :无法读取未定义的属性'$order‘“。
在我尝试使用lockOptgroupOrder之前,这一切都是完美的(除了排序错误)。当我将$order作为optgroup的一部分传递给$order时,我不明白为什么它找不到$order。(我也尝试过设置optgroupOrder: ['first', 'recents', 'favorites', 'all']却没有运气。)
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()...
}); 错误:

它打破了这个循环:

我已经用尽了所有其他形式的研究这个错误。以前有人遇到过这种情况吗?
发布于 2018-10-25 15:53:43
因此,在谷歌搜索、chrome调试和大哭之后,我发现了这个问题,现在我发布了我的解决方案,以防其他人遇到这个错误。
多亏了这个讨论板:
我能够拼凑出我的一个数据元素缺少一个“类型”字段(optgroupField)。在意识到这实际上是我添加到select中的默认选项之前,我遍历了所有的1350个选项,然后才将它转换为选择。在这种情况下,我需要这个选项来保留,所以我不能就这样去掉那行html。但我也不能在选项中添加"type“属性,甚至不能添加数据类型属性,它不会传递它。
最后,我从这个讨论板上发现:
我可以分配一个数据数据属性并传递给它名称和值,然后当它变成选择时,它会传递这个属性。因此,我的最后一个解决方案是在选项变成选择之前添加我需要的内容:
<option selected disabled value="default" data-data='{"type":"first"}'>The Stuff</option>
希望这能帮助其他可怜的灵魂在将来不必经历这一切。
https://stackoverflow.com/questions/52957886
复制相似问题