<div id="search"><input type="text"></div>
<div id="searchResults"></div>
<script>
(function () {
var searchInput = document.querySelector("#search input");
var searchResults = document.querySelector("#searchResults");
var arr = [{
title: "title1",
descr: "descr5"
}, {
title: "title2",
descr: "Descr con ght"
}, {
title: "title3",
descr: "content"
}];
function search(str) {
str = str.toLowerCase();
return arr.filter(function (obj) {
function isExist(val) {
var title = val.title.toLowerCase();
var descr = val.descr.toLowerCase();
return title.replace(str, '') !== title || descr.replace(str, '') !== descr;
}
if (isExist(obj)) {
return obj;
}
return false;
})
}
searchInput.addEventListener("keyup", onSearch);
function onSearch(e) {
var rez = search(e.target.value);
searchResults.innerText = "";
renderResults(rez);
}
function renderItemTpl(item) {
var tplItem = document.createElement('div');
var tplTitle = document.createElement('h1');
var tplDescr = document.createElement('p');
function renderInner() {
tplTitle.textContent = item.title;
tplDescr.textContent = item.descr;
tplItem.appendChild(tplTitle);
tplItem.appendChild(tplDescr);
return tplItem;
}
return renderInner();
}
function renderResults(rez) {
var len = rez.length;
if (len > 0) {
for (var i = 0; i < len; i++) {
searchResults.appendChild(renderItemTpl(rez[i]));
}
}
}
}());
</script>