代码之家  ›  专栏  ›  技术社区  ›  Vincent Decaux

select2js-我的列表中有一个默认值

  •  0
  • Vincent Decaux  · 技术社区  · 7 年前

    我在它的最新版本中使用了select2js,但我不知道为什么,当我点击时,我的列表中默认有一个“s”。它使用Ajax调用,我把 minimumInputLength 为了避免这一点。这是我的电话:

    $('.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 department”。谢谢。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Alexandre Elshobokshy    7 年前

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

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

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

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