我在jQuery中创建自己的下拉脚本。事情进展顺利,但我遇到了问题。每当我在文本字段中输入任何字符时,都会显示我正在搜索的数组中的所有元素,而不是与文本框中的内容相匹配的元素。
例如,如果我正则表达式搜索" ra"反对我的阵列:
var planes = [
'Alara',
'Fiora',
'Innistrad',
'Kamigawa',
'Lorwyn',
'Mirrodin',
'Ravnica',
'Shandalar',
'Zendikar'
];
我应该只在自动填充中看到Ala ra ,Fio ra ,Innist ra d和 Ra vnica
非常感谢任何帮助。
答案 0 :(得分:1)
你需要比较-1,所以它只会显示它是否被找到。您当前正在比较1,所以它对所有项都返回true。可能是一个错字。祝你好运!
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;
}