如何防止select2将用户输入作为标记建议之一

时间:2014-09-06 11:26:40

标签: jquery jquery-select2

在我的项目中实现了Select2。使用插件中提供的标记功能。该功能按照文档中的建议工作,但我一度陷入困境。

我已将标签初始化如下:

HTML

<div class="form-group">
       <label for="languages">Languages <span class="mandatory">*</span> :</label>
       <input type="text" required="" placeholder="Languages" name="languages" id="languages" class="form-control">
</div>

JS:

$('#languages').select2({
     tags: languagenames,
});

lanugagenames数据:

[{"id":"1","text":"Afrikaans"},{"id":"2","text":"Albanian"},{"id":"3","text":"Arabic",....}]

在输入框中输入字符时,我会在下拉列表中收到建议,但我也会将输入的字符作为建议之一(附加屏幕)。例如,在尝试输入英语时,我输入&#34; En&#34;它作为建议之一出现。我检查了数据集,并没有输入&#34; En&#34;。我找不到任何特定的配置来阻止这个额外的条目。关于如何阻止这些额外条目出现的任何建议?

enter image description here

2 个答案:

答案 0 :(得分:4)

之前我不知道这个插件,但它看起来很棒。

尝试这样的事情:

$('#languages').select2({
     tags: languagenames,
     createSearchChoice : function(term){
        return false;
    }
});

答案 1 :(得分:1)

我知道这是一个迟到的答案。

按照文档,您可以使用tags: true选项进行标记模式 所以把它设置为假。 see this

$(".js-example-tokenizer").select2({
  tags: true,
  tokenSeparators: [',', ' ']
})