Using Select2 get error - "Error: No select2/compat/query"

Using Select2 get error - "Error: No select2/compat/query"

我正在尝试使用 Select2 library in my site to leverage placecomplete (following it's rather simple configuration steps here),但是当我 运行 代码时,我得到了一个奇怪的错误 -

Error: No select2/compat/query`

我用谷歌搜索了一下,好像真的没有其他人遇到过这个问题?

简而言之,我的代码是,

正在加载文件...

<link href="scripts/Select2/dist/css/select2.min.css" rel="stylesheet" />
<script src="scripts/Select2/dist/js/select2.min.js"></script>
<script src="scripts/jquery.placecomplete.js">//<![CDATA[//]]></script>

在我体内标记输入元素...

<input id="example123" class="example123" type="text" />

在我的document.ready函数中,调用以下代码...

$('#example123').placecomplete({});

这就是它抛出错误的地方。

我哪里出错了,这个错误意味着什么?

您 运行 遇到了两个问题,这两个问题都可以轻松解决。

  1. Select2 4.0.0 不再支持精简的标准构建中的 query 选项。这必须包含在完整构建 (select2.full.js) 中,因为它是通过向后兼容模块处理的。

  2. 您正在使用 Placecomplete,它依赖于旧版本的 Select2。看起来 Select2 3.5.2+ 可以工作,但我可以从它正在使用的选项中看出,它不能与 Select2 4.0.0 一起工作。 There is an open ticket 关于 Placecomplete 的这个。

当您的网页上有两个具有相同 ID 的控件时,我遇到过这种情况 - 我有一个隐藏控件和一个 select(隐藏控件在第一个)。

对我来说,将 <input /> 标签更改为 <select> 标签有效。

如果您尝试在不“支持”select2 的字段类型上初始化 select2,例如隐藏字段或类似的东西,也会发生这种情况。