微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

尝试使用 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?自动完成灯没有任何我可以使用的回调。

解决方法

在DAL github页面发布问题后,我被引导添加元素初始化后的事件通知并自己打开拉取请求。

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。