在我的 select2 选择中,我需要在文档准备好后附加 li,附加后,如何重新初始化 select2。如果我再次关闭并再次打开选择,则附加的数据是可选的,但不会在我追加后立即选择。如何重新初始化它。
您必须销毁这些元素上的 select2,然后重新初始化它。
$("select").select2("destroy").select2();
感谢@Mivaweb上面的回答^
因此,如果我使用:
$("select").select2("destroy").select2();
然后我遇到了以下问题,因为有些人在上面的答案的评论中:
The select2('destroy') method was called on an element that is not using Select2
但这并不意味着它不起作用,它有效,但需要稍微更新一下方法。
适合我的工作解决方案:
步骤1:销毁现有的select2实例
步骤2:更新选项或选择
步骤3:现在初始化新的select2实例
例如:
$(".select2me-filter").select2("destroy");
... Here do option updates you need
$(".select2me-filter").select2();
对@Mivaweb答案的一点补充。如果收到错误消息"在未使用 Select2 的元素上调用了 select2('destroy'( 方法",则可以执行以下操作:
if ($("select").hasClass("select2-hidden-accessible")) {
// Select2 has been initialized
$("select").select2("destroy");
}
然后你可以重新初始化:$("select").select2();