我正在用jQuery制作自己的下拉脚本。一切都很顺利,但我遇到了一个问题。每当我在文本字段中输入任何字符时,都会显示正在搜索的数组中的所有元素,而不是与文本框中的元素匹配的元素。
例如,如果我在以下数组中搜索"ra“:
var planes = [
'Alara',
'Fiora',
'Innistrad',
'Kamigawa',
'Lorwyn',
'Mirrodin',
'Ravnica',
'Shandalar',
'Zendikar'
];我应该只看到自动完成中的Alara,Fiora,Innistrad和Ravnica。
任何帮助都是非常感谢的。
发布于 2016-06-15 18:16:25
您需要将其与-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;
}https://stackoverflow.com/questions/37842124
复制相似问题