@@ -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