2013-02-07 228 views
16

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

目前我有:

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

你能帮我请吗?

+0

来自文档:“请注意,当启用标记时,用户可以从预先存在的标记中进行选择,或者通过选择用户迄今在搜索框中键入的第一个选项来创建新标记。”所以我想你可能会运气不好......但是你有没有尝试将'maximumInputLength'设置为0,这可能会阻止用户输入新标签? – jaudette

回答

31

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

$().select2({ 
    createSearchChoice: function() { return null; }, 
    tags:... 
}); 
+3

@reverbnation答案是更好的,这在技术上有效,但更多的是黑客,然后使用正确的行为 – Stefan

+1

@Stefan,是的,没有理由这样做,当你可以使它成为一个多选择输入。 – DiscoInfiltrator

+0

如果您使用Yii Framework - Yii轮 - WhSelect2,这是更好的方法来禁用用户定制标记。当您预先填写'数据'属性时。 谢谢。 –

16

有时候我们开发不使用我们的第七某种意义上说是常识也正好与我2小时,然后挣扎着它点击我的感觉.. 如果你希望用户选择只允许值,那么它没有更多标记选择所以只是删除tags:true选项并保持mulitple属性中选择,直接在选择元件提供的选项或加载远程数据。

+2

这是正确的答案! – Stefan

+0

确实不错! – bluppfisk