Skip to content

Commit f7cc794

Browse files
committed
add two ways to filter books
1 parent 9e9d556 commit f7cc794

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

app.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ addForm.addEventListener('submit', function(e){
3232
li.appendChild(bookName);
3333
li.appendChild(deleteBtn);
3434
list.appendChild(li);
35+
36+
addForm.querySelector('input[type="text"]').value = '';
3537
});
3638

3739
// hide books
@@ -43,3 +45,47 @@ hideBox.addEventListener('change', function(e){
4345
list.style.display = "initial";
4446
}
4547
});
48+
49+
// filter books
50+
const searchBar = document.forms['search-books'].querySelector('input');
51+
searchBar.addEventListener('keyup', function(e){
52+
// console.log(e);
53+
// console.log(typeof e.target.value);
54+
const term = e.target.value.toLowerCase();
55+
const books = list.getElementsByTagName('li');
56+
57+
Array.from(books).forEach((book) => {
58+
// console.log(typeof book.innerHTML);
59+
const title = book.firstElementChild.textContent;
60+
61+
if(title.toLowerCase().includes(term)){
62+
book.style.display = 'list-item';
63+
}else{
64+
book.style.display = 'none';
65+
}
66+
67+
});
68+
69+
});
70+
71+
// const searchForm = document.forms['search-books'];
72+
// searchForm.addEventListener('submit', function(e){
73+
// e.preventDefault();
74+
// // console.log(e);
75+
// // console.log(e.target.querySelector('input').innerHTML);
76+
// const term = e.target.querySelector('input').value.toLowerCase();
77+
// const names = list.querySelectorAll('.name');
78+
79+
// names.forEach((name) => {
80+
// // console.log(typeof name.innerHTML);
81+
// let bookName = name.innerHTML.toLowerCase();
82+
83+
// if(bookName.search(term) >= 0){
84+
// name.parentNode.removeAttribute('hidden');
85+
// }else{
86+
// name.parentNode.setAttribute('hidden', 'hidden');
87+
// }
88+
89+
// });
90+
91+
// });

0 commit comments

Comments
 (0)