jQuery(document).ready(function($) { "use strict"; $('header form.search-form, .search-holder-form form.search-form ').addClass('klb-ajax-search'); var searchform = $('form.klb-ajax-search'); var searchselect = $('form.klb-ajax-search select'); var searchinput = $('form.klb-ajax-search input[type="search"]'); var searchbutton = $('form.klb-ajax-search button'); var timeout; $(document).on('change', 'form.klb-ajax-search select', function(){ $(this).closest('form.klb-ajax-search').find('input[type="search"]').keyup(); }); $(document).on('keyup', searchinput, function(event){ event.preventDefault(); if($(event.target).val().length < 3){ return false; } if(timeout) { clearTimeout(timeout); } timeout = setTimeout(function() { var data = { cache: false, type: 'POST', action: 'ajax_search', beforeSend: function() { $(event.target).closest(searchform).find(searchbutton).append(''); $(event.target).closest(searchform).addClass('search-loading'); }, keyword: $(event.target).val(), selected_cat: $(event.target).closest(searchform).find('option:selected').val(), }; // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php $.post(partdosearch.ajaxurl, data, function(response) { $(".klb-search-results").remove(); $(event.target).closest(searchform).find(searchinput).after('