Je suis en train d'utiliser jQuery UI Autocomplete pour faire apparaître une liste de noms de personnes dans une Base de données MySQL. La fonction de base est de travailler lorsque vous tapez dans deux lettres ou plus pour une liste de noms possibles s'affiche mais quand je l'ai placez le pointeur de la souris au-dessus de la liste ou appuyez sur la touche bas pour accéder à la liste, il disparaît (2 captures d'écran ci-dessous peuvent aider à expliquer cela).
Ce que cela signifie, c'est que la saisie semi-automatique devient inutile, car je ne peux pas accéder à la liste! Si quelqu'un peut aider je lui en serais très reconnaissant! Des captures d'écran et le code sont affichés ci-dessous.
Tapez les premiers caractères et le menu s'affiche
Mais placez le pointeur de la souris ou appuyez sur le " bas " de la clé, et il disparaît avant une sélection peut être faite
Code:
HTML:
<div id="chooseaccount">
Choose Account to Edit
<div id="iechooseaccountlabel" class="labeldiv">
<!--[if IE]>
Enter Student Name
<![endif]-->
</div>
<input type="text" class="inputs" id="editname" placeholder="Enter Student Name" />
</div>
jQuery:
$(document).ready(function(){
$("#editname").autocomplete({
source: "names.php",
minLength: 2,
});
});
PHP:
<?php
$mysqli = new mysqli('********', '********', '**********', '*********');
$text = $mysqli->real_escape_string($_GET['term']);
$query = "SELECT name FROM users WHERE name LIKE '%$text%' ORDER BY name ASC";
$result = $mysqli->query($query);
$json = '[';
$first = true;
while($row = $result->fetch_assoc())
{
if (!$first) { $json .= ','; } else { $first = false; }
$json .= '{"value":"'.$row['name'].'"}';
}
$json .= ']';
echo $json;
?>