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

如何以编程方式打开 DALDjango Autocomplete LightSelect2

如何解决如何以编程方式打开 DALDjango Autocomplete LightSelect2

我正在使用 DAL 从这样的表单字段中呈现自动完成:

    search = forms.ChoiceField(
        widget=autocomplete.Select2(
            url='/search/my_search/',attrs={
                'data-placeholder': 'Select an option','data-minimum-input-length': 1,'data-theme': 'bootstrap4',})
    )

它使用此类呈现:“select2-hidden-accessible”并获取属性“data-autocomplete-light-function="select2”。 它没有获得“select2”类,该类被赋予其跨度之一。 一切正常,只是我无法以编程方式打开 select2。

我试过了:

 $('#id_search').select2('open')

但它给出了错误:“在不使用 Select2 的元素上调用了 select2('open') 方法。”,因为 DAL 没有将类“select2”传递给呈现的表单字段“id_search” . 由于某些特殊性,我无法手动将类传递给组件。 如果我点击该字段,它会打开并正常工作。

我需要一些帮助才能在页面加载时打开 select2。

解决方法

我发现错误是由 autocomplete_light.js 函数初始化引起的,该函数与 document.ready 相关。 尝试访问 document.ready 上的 field.select2 不起作用。 我需要一种方法来聚焦并在页面加载时打开 select2。将发布另一个问题。

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