@eridanlivia

Поиск-фильтр по json с выводом на html, как сделать?

Здравствуйте. Есть json, есть скрипт, который вывод данные на страницу. А как организовать поиск-фильтр по name?
fetch("users.json")
          .then(res=>res.json())
      
          .then(data=>{
            document.body.innerHTML = data.map((item)=>
                `<div class="textcols-item" style="right: 100%;">

   <span class="name"><b><h3>${item.name}</h3></b></span>
  <br>
  <br>
   <i class="icono-iphone"></i> &nbsp ${item.phone}
  <br>
  <br>
   <i class="icono-mail"></i> &nbsp ${item.email}
   <br>
   </div>`).join(" ");
          })
  • Вопрос задан
  • 209 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
let users = [];
let nameFilter = ``;

// TODO: Тут вы реализуете изменение значения nameFilter из какого-то поля и после этого снова вызываете render()

const render = () => {
    document.body.innerHTML = users
        .filter((item) => !nameFilter || item.name.toUpperCase().includes(nameFilter.toUpperCase())
        .map((item) => `<span class="name">${item.name}</span>`).join(``));
}

fetch(`users.json`)
    .then((res) => res.json())
    .then((data) => users = data)
    .then(render);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы