我试图让搜索栏中包含两种行为:
案例1.工作得很好。
案例2.现在,用户需要点击enter
来验证搜索。
但是我想在输入字段中输入值后立即显示结果,因此用户不必输入。
对此的任何帮助将不胜感激。谢谢!
以下是代码:
function recherche(){
var search = $('#search').val();
if(search.length < 1) {
return null;
};
var results = json.filter(function (el) {
var s = search.toLowerCase().split(" ");
for (var key in el) {
for (var i=0; i < s.length; i++) {
if (el[key].toLowerCase().indexOf(s[i]) != -1) {
s.splice(i,1);
i--;
if (!s.length) return true;
}
}
}
return false;
});
displaySearchResults(results);
};
var items = document.getElementById("filter");
var item = items.getElementsByTagName("li");
for(var i=0; i<item.length; i++) {
item[i].addEventListener("click", function(e) {
console.log(this.textContent || this.innerText);
document.getElementById("search").value = (this.textContent || this.innerText);
});
}
$(function() {
recherche();
$('#search').keyup(recherche);
});