Функция поиска SimpleCart.js
Некоторое время пользовался simpleCart, и он прекрасно работает, и я знаю, что в нем есть функция поиска, но он, кажется, ищет только некоторые элементы, мой вопрос такой, я хотел бы знать, можно ли настроить его для поиска по содержимому HTML-файлы? так как все элементы хранятся на страницах HTML для простой каталогизации.
0 ответов
Попробуйте это: JS
function filter(e){
search = e.value.toLowerCase();
console.log(e.value)
document.querySelectorAll('.item_name').forEach(function(row){
text = row.innerText.toLowerCase();
if(text.match(search)){
row.style.display="block"
} else {
row.style.display="none"
}
// need to count hidden items and if all instances of .kb-items are hidden, then hide .kb-item
var countHidden = document.querySelectorAll(".item_name[style='display: none;']").length;
console.log(countHidden);
})
}
function detectParent()
{
var collectionref=document.querySelectorAll(".simpleCart_shelfItem");
collectionref.forEach(group=>{
var itemcollection=group.getElementsByClassName("item_name");
var hidecounter=0;
for(var j=0;j<itemcollection.length;j++)
{
if(itemcollection[j].style.display==='none')
{
hidecounter++;
}
}
if(hidecounter===itemcollection.length)
{
group.style.display="none";
}else{
group.style.display="block";
}
});
}
И HTML:
<input type="text" onkeyup="filter(this);detectParent();"/>