Advertisement
braveheart1989

domSearch

Oct 23rd, 2016
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function domSearch(selector, cs) {
  2.     let wrapper = $(selector);
  3.    
  4.     function generateHtml(wrapper) {
  5.         let addControls = $(`<div class="add-controls"><label>Enter text: <input></label><a class="button" style="display:inline-block;">Add</div>`);
  6.         let searchControls = $(`<div class="search-controls"><label>Search: <input></label></div>`);
  7.         let resultControls = $(`<div class="result-controls"><ul class="items-list">
  8. <li class="list-item"></li>
  9. </ul></div>`);
  10.         addControls.find('a').click(createListItem);
  11.         searchControls.find('input').on('change',searchListItem);
  12.         wrapper.append(addControls);
  13.         wrapper.append(searchControls);
  14.         wrapper.append(resultControls);
  15.     }
  16.  
  17.  
  18.     generateHtml(wrapper);
  19.     function createListItem() {
  20.         let text = $('div.add-controls input').val();
  21.         let ul = $('.items-list');
  22.         let list = $(`<li class="item-list"><a class="button">X</a><strong>${text}</strong></li>`);
  23.         list.appendTo(ul);
  24.         list.find('a').click(deleteListItem);
  25.     }
  26.  
  27.     function deleteListItem() {
  28.         let li = $(this).parent();
  29.         li.remove();
  30.     }
  31.  
  32.     function searchListItem() {
  33.        
  34.         let searchText = $('.search-controls').find('input').val();
  35.         if(cs == false) {
  36.             searchText=searchText.toLowerCase();
  37.         }
  38.         let itemList = $('.items-list li');
  39.         for (let i = 0; i < itemList.length; i++) {
  40.             let item = itemList.eq(i);
  41.            
  42.             let textContent = item.find('strong').text();
  43.             if(cs == false) {
  44.                 textContent = textContent.toLowerCase();
  45.             }
  46.             if(!textContent.includes(searchText)) {
  47.                 itemList.eq(i).css('display','none');
  48.             }
  49.             else {
  50.                 itemList.eq(i).removeAttr('style')
  51.             }
  52.         }
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement