首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery:在自动完成下拉列表中只显示匹配字符

jQuery:在自动完成下拉列表中只显示匹配字符
EN

Stack Overflow用户
提问于 2016-06-15 17:36:08
回答 1查看 73关注 0票数 0

我正在用jQuery制作自己的下拉脚本。一切都很顺利,但我遇到了一个问题。每当我在文本字段中输入任何字符时,都会显示正在搜索的数组中的所有元素,而不是与文本框中的元素匹配的元素。

例如,如果我在以下数组中搜索"ra“:

代码语言:javascript
复制
var planes = [
    'Alara',
    'Fiora',
    'Innistrad',
    'Kamigawa',
    'Lorwyn',
    'Mirrodin',
    'Ravnica',
    'Shandalar',
    'Zendikar'
];

我应该只看到自动完成中的Alara,Fiora,Innistrad和Ravnica。

这是一个柱塞。

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-15 18:16:25

您需要将其与-1进行比较,因此只有在找到时才会显示。您现在比较的是1,所以它返回所有项的true。可能是打错了。祝好运!

代码语言:javascript
复制
        else{
            //Grep used to search array but not alter the original.
            var results = $.grep(planes, function(item){
                return item.search(new RegExp(query, "i")) != *add a - here* 1;
            });
            console.log("Added " + query + " to cache.");
            cache[query] = results;
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37842124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档