尝试在页面加载时打开 select2 会出现错误“在未使用 Select2 的元素上调用了 select2('open') 方法。”

Trying to open select2 on page load gives the error “The select2('open') method was called on an element that is not using Select2.”

尝试使用 document.ready 在页面加载时打开 select2 不起作用,因为“autocomplete_light.js 初始化函数”绑定到同一事件并且在 document.ready,组件不存在尚未初始化。

所以,按照下面的方法是行不通的:

$(document).ready(function () {
    $('#select2_field').select2('open')
    //OR
    $('#select2_field').open()
});

问题是 django autocomplete_light 也在 document.ready 上初始化字段。我需要打开该字段并将其集中在页面加载和同一事件上。当我尝试这样做时,出现错误:在未使用 Select2 的元素上调用了 select2('open') 方法。如果我在另一个事件上访问该方法,在 document.ready 之后,它会起作用。

所以,问题是,在 select2 被 autocomplete light 初始化后,如何在页面加载时打开它?自动完成灯没有任何我可以使用的回调。

在 DAL github 页面上发布问题后,我被引导在元素初始化后添加事件通知并自己打开一个 pull request。

我已经完成了,现在我正在等待它被接受。

https://github.com/yourlabs/django-autocomplete-light/pull/1246