在我的项目中实现了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;。我找不到任何特定的配置来阻止这个额外的条目。关于如何阻止这些额外条目出现的任何建议?
答案 0 :(得分:4)
之前我不知道这个插件,但它看起来很棒。
尝试这样的事情:
$('#languages').select2({
tags: languagenames,
createSearchChoice : function(term){
return false;
}
});
答案 1 :(得分:1)
我知道这是一个迟到的答案。
按照文档,您可以使用tags: true
选项进行标记模式
所以把它设置为假。
see this
$(".js-example-tokenizer").select2({
tags: true,
tokenSeparators: [',', ' ']
})