如何禁止使用 select2 v4.0 创建新标签?
How to disable creating new tags with select2 v4.0?
我一直在试用新的 Select2 v4.0,它有很多改进。我主要对 tags
功能感兴趣。我希望能够通过 ajax 和 搜索标签,仅 能够从显示的结果中 select 标签,而不能创建新标签。该功能类似于 Whosebug - 如果您没有必要的声誉,则无法创建新标签,但您仍然可以使用现有标签标记问题。
这里是 jsfiddle 我的代码摘自示例。在示例中,您可以创建我想要限制的新标签。用户应该只能从通过 ajax 从 GitHub 检索到的列表中添加 select 标签。
有人知道如何禁用此功能吗?
您可以通过在初始化 Select2 时删除 tags: true
来禁用标签。或者,在初始化 Select2 时设置 tags: false
。标签仅启用 if the tags
option is truthy,当您传入 true
.
时
这应该可行 - 在 select2 的初始化中,尝试从 createTag 函数返回未定义,如下所示:
createTag: function(params) {
return undefined;
}
我也一直在努力解决这个问题,但几个小时后它就开始工作了。
我指定了一些标记分隔符(因为允许我的访问者在网站的不同位置创建标签)。事实证明,即使 tags
配置设置为 false
.
,分隔符仍会应用
解决方案:tags: false
并且不要为 tokenSeperators
添加值。保持 multiple: true
.
我不确定是否应该在此处添加以下内容,但是当我搜索相同的问题时 google 向我指出了这个问题。但是,我使用的是旧版本 3.x,这是实现 3.x 版本相同场景的方法。
Tested on version 3.5
createSearchChoice: function(params) {
return undefined;
}
标签:false,
$("#DropDownId").select2({
minimumInputLength: 3,
maximumSelectionLength: 10,
tags: [],
**tags:false,**
ajax: {
url: "@Url.Action("ActionName", "ControllerName")",
type: "get",
dataType: 'json',
delay: 250,
data: function (params) {
return {
Title: params.term // search term
};
},
processResults: function (response) {
return {
results: $.map(response, function (item) {
return {
text: item.Title,
id: item.NibafInstituteId
}
})
};
}
}
});
我一直在试用新的 Select2 v4.0,它有很多改进。我主要对 tags
功能感兴趣。我希望能够通过 ajax 和 搜索标签,仅 能够从显示的结果中 select 标签,而不能创建新标签。该功能类似于 Whosebug - 如果您没有必要的声誉,则无法创建新标签,但您仍然可以使用现有标签标记问题。
这里是 jsfiddle 我的代码摘自示例。在示例中,您可以创建我想要限制的新标签。用户应该只能从通过 ajax 从 GitHub 检索到的列表中添加 select 标签。
有人知道如何禁用此功能吗?
您可以通过在初始化 Select2 时删除 tags: true
来禁用标签。或者,在初始化 Select2 时设置 tags: false
。标签仅启用 if the tags
option is truthy,当您传入 true
.
这应该可行 - 在 select2 的初始化中,尝试从 createTag 函数返回未定义,如下所示:
createTag: function(params) {
return undefined;
}
我也一直在努力解决这个问题,但几个小时后它就开始工作了。
我指定了一些标记分隔符(因为允许我的访问者在网站的不同位置创建标签)。事实证明,即使 tags
配置设置为 false
.
解决方案:tags: false
并且不要为 tokenSeperators
添加值。保持 multiple: true
.
我不确定是否应该在此处添加以下内容,但是当我搜索相同的问题时 google 向我指出了这个问题。但是,我使用的是旧版本 3.x,这是实现 3.x 版本相同场景的方法。
Tested on version 3.5
createSearchChoice: function(params) {
return undefined;
}
标签:false,
$("#DropDownId").select2({
minimumInputLength: 3,
maximumSelectionLength: 10,
tags: [],
**tags:false,**
ajax: {
url: "@Url.Action("ActionName", "ControllerName")",
type: "get",
dataType: 'json',
delay: 250,
data: function (params) {
return {
Title: params.term // search term
};
},
processResults: function (response) {
return {
results: $.map(response, function (item) {
return {
text: item.Title,
id: item.NibafInstituteId
}
})
};
}
}
});