jQuery autocomplete en arrière-plan de la zone de texte d'entrée

J'ai un jQuery zone de texte de saisie semi-automatique de script qui utilise un script PHP pour interroger une base de données MySQL. Actuellement, un résultat s'affiche sous la zone de texte cependant je veux qu'il apparaisse comme si il est disparu dans la zone de texte. Comment puis-je faire quelque chose comme cela? Un exemple de ceci est sur la zone de recherche Instantanée Google.

Mon code de la page web est:

<script type='text/javascript'>
function lookup(a)
{
    if(a.length==0)
    {
        $("#suggestions").hide();
    }
    else
    {
        $.post("suggest.php", { query: ""+a+"" }, function(b)
        {
            $("#suggestions").html(b).show();
        });
    }
}
</script>

<input type='text' id='query' onkeyup='lookup(this.value);'>
<div id='suggestions'></div>

Et mon code PHP est:

<?php
$database = new mysqli('localhost', 'username', 'password', 'database');

if(isset($_POST['query']))
{
    $query = $database->real_escape_string($_POST['query']);

    if(strlen($query) > 0)
    {
        $suggestions = $database->query("SELECT name, value FROM search WHERE name LIKE '%" . $query . "%' ORDER BY value DESC LIMIT 1");

        if($suggestions)
        {
            while($result = $suggestions->fetch_object())
            {
                echo '' . $result->name. '';
            }
        }
    }
}
?>
J'ai juste modifié ce code afin de le rendre plus agréable à lire. Je recommande d'espacer vos code plus il n'est pas si difficile à déboguer à l'avenir.

OriginalL'auteur Cosmo Posmo | 2011-06-13