我正在尝试使用 jQuery UI Autocomplete 来显示 MySQL 数据库中的人名列表。基本功能正在工作 - 当您输入两个或更多字母时,会显示可能的名称列表 - 但是当我将鼠标悬停在列表上或按向下键访问列表时,它会消失(下面的 2 个屏幕截图可能有助于解释这个)。
这意味着自动完成变得毫无意义,因为我实际上无法访问列表!如果有人可以提供帮助,我将不胜感激!屏幕截图和代码发布在下面。
输入前几个字符,出现菜单
但是将鼠标悬停或按下“向下”键,它会在选择之前消失
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;
?>