选择2 将数据追加到现有选择后初始化选择



在我的 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();

相关内容

最新更新