How can I create a live search with Jquery AJAX, I used keypress or keyup event to loop query, but if I type 3 characters or more the AJAX will do 3 times or more.
My form:
<input class="keyword-search" type="text" name="s" autocomplete="off" placeholder="Where do you want to go?">
Here my AJAX:
<script>
jQuery(document).ready(function(){
(function($){
$(".keyword-search").keypress(function(){
var keyword = $(this).val();
$(".search-appear").empty();
$.ajax({
type: "post",
url: "<?php echo admin_url( 'admin-ajax.php' ); ?>",
data: { action: 'get_tour', keyword: keyword },
beforeSend: function() {$("#loading").fadeIn('slow');},
success: function(data) {
$("#loading").fadeOut('slow');
$(".search-appear").append(data);
}
});
});
})(jQuery);
});
</script>
And Here is my demo function:
function get_tour()
echo 'Do something!';
?>
<?php die(); }
And this is result when I type 3 characters: type 3 characters I type 2 chars: type 2 characters Who can help me it work 1 time no matter how many key press. Or it work fine anyway ! Thanks a lot !!