selectize.js lockOptgroupOrder 抛出异常
selectize.js lockOptgroupOrder throwing exception
我在设置 optgroups 的地方有一个 selectize,给它们一个 $order,然后尝试设置 lockOptgroupOrder,最终抛出异常:"Uncaught TypeError: Cannot read property '$order' of undefined".
在我尝试使用 lockOptgroupOrder 之前,这一切都完美无缺(除了它排序错误)。当我清楚地将 $order 作为 optgroups 的一部分传递时,我不明白为什么它找不到 $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()...
});
错误:
循环中断:
我已用尽所有其他形式来研究此错误。有人遇到过这个吗?
因此,经过许多小时的谷歌搜索、chrome 调试和普遍的哭泣,我找到了问题所在,现在我发布了我的解决方案,以防其他人遇到此错误。
感谢这个讨论区:
lockOptgroupOrder breaks onChange
我能够拼凑出我的一个数据元素缺少一个 'type' 字段 (optgroupField)。在意识到它实际上是我在将 select 变成 selectize 之前添加到 select 中的默认选项之前,我逐步完成了所有 1350 个选项。在这种情况下,我需要保留此选项,所以我不能只删除那行 html。但是我也不能向选项添加 "type" 属性,甚至不能添加数据类型属性,它不会传递它。
最后我从这个讨论区弄明白了:
Add data-attribute to selectize.js options
我可以分配一个 data-data 属性并将名称和值传递给它,然后当它变成 selectize 时它会传递该属性。所以我的最终解决方案是在它变成 selectize:
之前通过选项添加我需要的东西
<option selected disabled value="default" data-data='{"type":"first"}'>The Stuff</option>
希望这能帮助其他可怜的人,让他们在未来不必再经历这些。
我在设置 optgroups 的地方有一个 selectize,给它们一个 $order,然后尝试设置 lockOptgroupOrder,最终抛出异常:"Uncaught TypeError: Cannot read property '$order' of undefined".
在我尝试使用 lockOptgroupOrder 之前,这一切都完美无缺(除了它排序错误)。当我清楚地将 $order 作为 optgroups 的一部分传递时,我不明白为什么它找不到 $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()...
});
错误:
循环中断:
我已用尽所有其他形式来研究此错误。有人遇到过这个吗?
因此,经过许多小时的谷歌搜索、chrome 调试和普遍的哭泣,我找到了问题所在,现在我发布了我的解决方案,以防其他人遇到此错误。
感谢这个讨论区:
lockOptgroupOrder breaks onChange
我能够拼凑出我的一个数据元素缺少一个 'type' 字段 (optgroupField)。在意识到它实际上是我在将 select 变成 selectize 之前添加到 select 中的默认选项之前,我逐步完成了所有 1350 个选项。在这种情况下,我需要保留此选项,所以我不能只删除那行 html。但是我也不能向选项添加 "type" 属性,甚至不能添加数据类型属性,它不会传递它。
最后我从这个讨论区弄明白了:
Add data-attribute to selectize.js options
我可以分配一个 data-data 属性并将名称和值传递给它,然后当它变成 selectize 时它会传递该属性。所以我的最终解决方案是在它变成 selectize:
之前通过选项添加我需要的东西<option selected disabled value="default" data-data='{"type":"first"}'>The Stuff</option>
希望这能帮助其他可怜的人,让他们在未来不必再经历这些。