【问题标题】:Using Select2 get error - "Error: No select2/compat/query"使用 Select2 得到错误 - “错误:没有 select2/compat/query”
【发布时间】:2015-07-25 23:39:04
【问题描述】:

我试图在我的站点中使用Select2 库来利用placecomplete (following it's rather simple configuration steps here),但是当我运行代码时出现一个奇怪的错误 -

错误:没有 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) 是否包含 jQuery? (听起来很愚蠢,但有时会发生 :) 2)您确定文件名正确并且文件已加载吗? (检查您的网络选项卡和控制台)
  • 它真的支持input 元素而不仅仅是select 元素吗?

标签: javascript jquery jquery-select2


【解决方案1】:

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

  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。

【讨论】:

  • 你能告诉我如何要求完整版吗?我已经通过 npm 安装了select2,我同时拥有select2.jsselect2.full.js,我需要它作为require('select2');,我怎样才能获得完整版本?
  • require('select2/dist/js/select2.full'); 应该可以工作
【解决方案2】:

对我来说,将 &lt;input /&gt; 标签更改为 &lt;select&gt; 标签是可行的。

【讨论】:

  • 这是正确的答案
【解决方案3】:

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

【讨论】:

  • 我在两个具有不同 ID 的 select2 框中收到此错误。
【解决方案4】:

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

【讨论】:

    猜你喜欢
    • 2018-07-26
    • 2016-01-21
    • 2017-07-15
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 2015-08-09
    相关资源
    最近更新 更多