Mysql
 sql >> Base de données >  >> RDS >> Mysql

Recherche en direct JQuery KeyUp. Comment?

Essayez ce code js à la place de ce que vous avez. J'ai ajouté la fonction de délai afin que le script attende un laps de temps spécifié après que l'utilisateur arrête de taper avant d'envoyer la requête. Cela évite qu'un grand nombre de requêtes soient envoyées au serveur.

<script type="text/javascript">
var delay = (function() {
  var timer = 0;
  return function(callback, ms){
    clearTimeout (timer);
    timer = setTimeout(callback, ms);
  };
})();

$("#search-box").keyup(
    function () {
        delay(function () {
            var keyword = $("#search-box").val();
            var URL = encodeURI("search.php?q=" + keyword);
            $.ajax({
                url: URL,
                cache: false,
                type: "GET",
                success: function(response) {
                    $("#results").html(response);
                }
            });
        }, 500);
    }
);
</script>