Chr*_*ris 61 html jquery jquery-ui jquery-ui-autocomplete
我正在尝试使用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;
?>  
bic*_*cle 199
该错误是由于两个 jQuery UI文件同时加载到客户端浏览器时发生的冲突引起的.如果你达到了你的<head>部分,你可能会看到你有两个不同的jQuery UI文件.只需删除一个即可.
我遇到了同样的问题,但我一次在 DOM 中只有一个 jquery-ui 脚本标签。我正在使用包含脚本标记的 Ajax 加载内容。如果我在一个页面上这样做两次,它会破坏自动完成下拉菜单,即使第二个请求的内容替换了第一个请求的内容。一种解决方法是在呈现包含 jquery-ui 脚本的内容之前添加此行:
$.ui = null;
| 归档时间: | 
 | 
| 查看次数: | 20977 次 | 
| 最近记录: |