javascript select2 允许的标签

Posted

技术标签:

【中文标题】javascript select2 允许的标签【英文标题】:javascript select2 allowed tags 【发布时间】:2013-01-23 06:13:04 【问题描述】:

我需要允许用户在选择中只选择允许的标签。

目前我有:

$("input#id_txtcolor").select2(tags:["red", "green", "blue"]);

你能帮帮我吗?

【问题讨论】:

来自文档:“请注意,启用标记后,用户可以从预先存在的标签中进行选择,或者通过选择用户在搜索框中键入的第一个选项来创建新标签,因此远的。”所以我想你可能不走运......但你有没有尝试将maximumInputLength 设置为 0,这可能会阻止用户输入新标签? 【参考方案1】:

从 3.3 开始,您可以在使用始终返回 null 的标签时指定自己的 createSearchChoice,从而防止创建默认选项。

$().select2(
    createSearchChoice: function()  return null; ,
    tags:...
);

【讨论】:

@reverbnation 答案更好,这在技术上是可行的,但更像是一种黑客攻击,然后使用正确的行为 @Stefan,是的,当您可以将其设为多选输入时,没有理由这样做。 如果您使用的是 Yii Framework - Yiiwheels - WhSelect2,这是禁用用户自定义标签的更好方法。当您预填充“数据”属性时。谢谢。【参考方案2】:

有时我们开发人员不使用我们的第 7 种感觉,这也是常识,我挣扎了 2 个小时,然后它点击了我的感觉.. 如果您希望用户仅选择允许的值,那么它不再是 tagging 它的 selecting 所以只需删除 tags:true 选项并将 mulitple 属性保留在 select 中,直接在选择元素或加载远程数据。

【讨论】:

以上是关于javascript select2 允许的标签的主要内容,如果未能解决你的问题,请参考以下文章

select2标签不适用于json url单选

Select2 - 多个标签不起作用

jQuery select2:重复标签被重新创建

选择后保持焦点 Select2

Select2 验证并强制用户选择至少 X 个项目

Select2 ajax 正确调用 web 服务,但之后啥也不做