我试图只允许select2库中的一个值,不管它是如何写入的。例如,如果值“Test”在数据列表中,则不应再添加“test”。我搜索了一段时间,也查看了文档,但我没有解决这个问题。select2:禁用区分大小写的匹配
$("#timezones").select2({
tags: true,
createTag: function (tag) {
return {
id: tag.term,
text: tag.term + " (new)",
isNew: true
};
},
matcher: function (term, data) {
// `term.term` should be the term that is used for searching
// `data.text` is the text that is displayed for the data object
if ($.trim(term.term) === '') {
return data;
}
var termString = term.term.trim();
var textString = data.text.trim();
var termStringUpper;
var textStringUpper;
if (termString) termStringUpper = termString.toUpperCase();
if (textString) textStringUpper = textString.toUpperCase();
return termStringUpper == textStringUpper;
}
});
这里是一个的jsfiddle:https://jsfiddle.net/2sz0oj8m/
我可能还要注意,默认情况下,只有当'createTag'中返回的'id'与任何res中的'id'都不匹配时才会显示标签ULTS。 –
谢谢,这帮了我很多! @凯文布朗:一个很好的提示,我会牢记这一点。 – baris1892