Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. /*---------- Search ----------*/
  2. // toggle vars
  3. var searchToggle = document.querySelector('#searchtoggle');
  4.  
  5. // search form vars
  6. var searchForm = document.querySelector('#ajax-search-form');
  7. var searchResults = document.querySelector('#search-results');
  8. var loading = document.querySelector('.loading');
  9.  
  10. // toggle the form
  11. searchToggle.addEventListener('click', function (click) {
  12. body.classList.remove('menu-in');
  13. body.classList.toggle('search-in');
  14. // reset the form
  15. searchForm.querySelector('input').value = '';
  16. searchResults.innerHTML = '';
  17. });
  18.  
  19. // ajax search
  20. searchForm.addEventListener('submit', function (search) {
  21. search.preventDefault();
  22.  
  23. // focus the input
  24. searchForm.querySelector('input').focus();
  25.  
  26. // empty the results
  27. searchResults.innerHTML = '';
  28.  
  29. // the search term
  30. var searchTerm = searchForm.querySelector('input').value;
  31.  
  32. // the search category
  33. var searchTermCategory = searchForm.querySelector('#search-category').value;
  34.  
  35. // the search type
  36. var searchTermType = searchForm.querySelector('#search-type').value;
  37.  
  38. // show the loading indicator
  39. loading.style.opacity = '1';
  40.  
  41. $.ajax({
  42. url: ajaxurl + '/?action=ajaxSearch&search_term=' + searchTerm + '&category_name=' + searchTermCategory + '&post_type=' + searchTermType +'&per_page=-1',
  43. type: 'GET',
  44. dataType: 'json',
  45. success: function success(data) {
  46. loading.style.opacity = '0';
  47.  
  48. // if we found search results
  49. if (data.length > 0) {
  50. searchResults.innerHTML = data.map(function (item) {
  51. return '<li><a href="' + item.url + '">' + item.title + '</a></li>';
  52. }).join('');
  53. }
  54.  
  55. // nothing found
  56. else {
  57. searchResults.innerHTML = '<p><strong>No search results</strong></p>';
  58. }
  59. }
  60. });
  61. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement