如何禁用select2 v4.0创建新标签?

我一直在尝试新的Select2 v4.0 ,它有很多改进。 我主要对tagsfunction感兴趣。 我希望能够通过ajax搜索标签, 只能从显示的结果中选择一个标签,而不能创建新的标签。 该function类似于StackOverflow – 如果您没有必要的声誉,则无法创建新标签,但您仍可以使用现有标签标记问题。

这是我的代码的jsfiddle ,它取自示例。 在该示例中,您可以创建我想要限制的新标记。 用户应该只能从通过ajax从GitHub检索的列表中选择标签。

有人知道如何禁用此function吗?

这应该工作 – 在select2的初始化中,尝试从createTag函数返回undefined,如下所示:

 createTag: function(params) { return undefined; } 

我一直在努力解决这个问题,但几个小时后它就开始工作了。

我指定了一些令牌分隔符(因为我的访问者可以在网站的不同位置创建标记)。 即使tags配置设置为false仍然会应用分隔符。

解决方案: tags: false ,不要为tokenSeperators添加值。 保持multiple: true

您可以通过删除tags: true来禁用标记tags: true初始化Select2时为tags: true 。 或者,在初始化Select2时设置tags: false 。 仅当tags选项是真实的时才启用tags ,当您传入true时它是。