Select2 - 在开头显示所有结果,但在 4 个字符后开始过滤

问题描述 投票:0回答:1

我想用 select2 实现的目标是在单击选择时显示所有选项(这是默认行为),但仅在输入字段中有 3 个或更多字符时过滤结果。

我可以添加最小输入长度选项所需的最少字符,但我丢失了选项的初始列表。

javascript jquery-select2
1个回答
0
投票

您可以通过使用匹配器来实现这一点。

我定义了一个匹配器如下:

matcher: function(term, data) {
    // If less than 3 characters are typed return all of the data
    if (term.length < 3) {
        return data;
    }

    // 3 or more characters typed so perform filter
    return data.toUpperCase().indexOf(term.toUpperCase()) == 0;
}

term
是输入的字符,
data
是我们要检查的数据。检查
term
的长度,如果它小于 3,那么我们返回这个
data
项目(因为我们希望显示所有项目)。否则(即输入 3 个或更多字符),我们检查
data
项是否包含输入的
term
,如果为 true则返回它

请参阅 this Fiddle 进行演示。当输入 3 个或更少的字符时,它会显示完整列表。当输入超过 3 个字符时,如果执行过滤。

© www.soinside.com 2019 - 2024. All rights reserved.