<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>index</title>
<style>
.input_services {
background-image: url('../images/searchicon.png');
background-position: 10px 8px;
background-repeat: no-repeat;
width: 100%;
padding: 12px 20px 12px 40px;
border: 1px solid #ddd;
margin-bottom: 12px;
font-style: italic;
}
.list {
list-style-type: none;
padding: 0;
margin: 0;
}
.list a {
border: 1px solid #ddd;
margin-top: -1px;
background-color: #f6f6f6;
padding: 12px;
text-decoration: none;
color: black;
display: none;
}
.list a:hover:not(.header) {
background-color: #eee;
}
.show{
display: block;
}
.hide{
display: none;
}
.list, a.show {
display: block;
}
</style>
</head>
<body>
<main>
<header></header>
<input type="text" class="input_services" onkeyup="servicesFunction()" placeholder="Какая помощь нужна, например, установка ванны">
<ul class="list">
<li class="list_services"><a href="#">Алмазная резка</a></li>
<li class="list_services"><a href="#">Гидроизоляция</a></li>
<li class="list_services"><a href="#">Заливка пола</a></li>
<li class="list_services"><a href="#">Замена канализации</a></li>
<li class="list_services"><a href="#">Замена проводки</a></li>
<li class="list_services"><a href="#">Замена радиаторов</a></li>
<li class="list_services"><a href="#">Замена труб</a></li>
</ul>
</main>
<script>
let inputServices = document.querySelector(".input_services");
let list = document.querySelector(".list");
let listServices = list.querySelectorAll(".list_services");
let a;
function servicesFunction() {
let filter = inputServices.value.toUpperCase();
let filterNull = inputServices.value;
for (let i = 0; i < listServices.length; i++) {
a = listServices[i].querySelectorAll(".list_services>a")[0];
if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
a.classList.add("show");
}
else {
a.classList.remove("show");
}
}
function test(){
if (filterNull == ""){
a.classList.add(".hide");
}
}
}
</script>
</body>
</html>
Вот поправил, сейчас не могу понять как сделать что бы если в строке пусто блок спрятать, сделал вот такое но это не работает
function test(){
if (filterNull == ""){
a.classList.add(".hide");
}
}
А еще повесил событие на input но это как бы не правильно, хочу убрать это событие в скрипт.