首页 > 解决方案 > Select2JS - 我的列表中有一个默认值

问题描述

我在它的最后一个版本中使用了 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”。谢谢。

标签: javascriptjqueryjquery-select2

解决方案


如果您使用的是高于 V4 的版本,您可以尝试添加到您的选项中:

language: { inputTooShort: function () { return ''; } }

这样,如果用户输入的字符少于 2 个,则不会出现任何内容。

我显然没有足够的元素来重现您的问题,但这是删除 select2 中任何不需要的选项的最通用方法。


推荐阅读