我使用的是select2js的最新版本,但我不知道为什么,当我单击时,列表中默认会有一个“ s”。它使用Ajax调用,并且将minimumInputLength
设置为2避免这种情况。这是我的电话:
$('.search-location').select2({
language: 'fr',
placeholder: "Ville ou CP",
minimumInputLength: 2,
maximumSelectionLength: 4,
width: '100%',
ajax: {
url: ajaxurl,
dataType: "json",
data: function (params) {
var queryParameters = {
q: params.term,
action: 'get_the_locations'
}
return queryParameters;
},
cache: false,
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.label,
id: item.number
}
})
};
}
}
}).on('select2:select', function (e) {
var data = e.params.data;
});
您可以在这里进行测试:https://www.cabinet-hermes.fr/在主搜索栏上,输入为“ VILLE,CP ou DEPARTEMENT”。谢谢。
答案 0 :(得分:1)
如果您使用的版本高于V4,则可以尝试添加选项:
language: { inputTooShort: function () { return ''; } }
这样,如果用户输入少于2个字符,则不会出现任何内容。
我显然没有足够的元素来重现您的问题,但这是删除select2中任何不需要的选项的最通用方法。