Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. function domSearch(selector,caseSensitive) {
  2. let mainDiv = $(selector)
  3.  
  4. //add controls
  5. let label = $("<label>").text('Enter text:');
  6. let input = $('<input type="text">').attr('id', 'inputText');
  7.  
  8. input.appendTo(label);
  9.  
  10. let anchor = $('<a class="button" style="display: inline-block;">Add</a>')
  11.  
  12. let addControlDiv = $('<div></div>')
  13. addControlDiv.addClass('add-controls')
  14.  
  15. label.appendTo(addControlDiv)
  16. anchor.appendTo(addControlDiv)
  17.  
  18. mainDiv.append(addControlDiv)
  19.  
  20. //search controls
  21. let searchLabel = $("<label>").text('Search:');
  22. let searchInput = $('<input type="text">').attr('id', 'searchText');
  23.  
  24. searchInput.appendTo(searchLabel);
  25.  
  26. let searchControlDiv = $('<div></div>')
  27. searchControlDiv.addClass('search-controls')
  28.  
  29. searchLabel.appendTo(searchControlDiv)
  30.  
  31. mainDiv.append(searchControlDiv)
  32.  
  33. //unordered list function
  34. let unorderedList = $('<ul>')
  35. unorderedList.addClass('items-list')
  36.  
  37. searchInput.keyup(function(){
  38. let valThis = $(this).val();
  39. $('.items-list li strong').each(function(){
  40. let text = $(this).text()
  41. if (!caseSensitive) {
  42. valThis = valThis.toLowerCase()
  43. text = text.toLowerCase()
  44. }
  45. (text.indexOf(valThis) == 0) ? $(this).parent().css('display','block') : $(this).parent().css('display','none')
  46. });
  47. });
  48.  
  49. anchor.on('click', addItemToList)
  50. function addItemToList() {
  51. let li = $('<li>')
  52. li.addClass('list-item')
  53.  
  54. let strong = $(`<strong>${input.val()}</strong>`)
  55. input.val('')
  56. let delAnchorBtn = $('<a>X</a>')
  57. delAnchorBtn.addClass('button')
  58.  
  59. delAnchorBtn.on('click', deleteAnchor)
  60. function deleteAnchor() {
  61. li.remove()
  62. }
  63. li.append(delAnchorBtn)
  64. li.append(strong)
  65. unorderedList.append(li)
  66. }
  67.  
  68. let resultDiv = $('<div>')
  69. resultDiv.addClass('result-controls')
  70.  
  71. resultDiv.append(unorderedList)
  72.  
  73. mainDiv.append(resultDiv)
  74.  
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement