【发布时间】:2014-11-29 14:04:42
【问题描述】:
我正在寻找一种方法,以便当用户开始在输入字段中输入时,它将开始在下拉列表中生成结果。
例如,当您开始在 Google 或 Facebook 搜索栏中输入内容时。
实际上叫什么?
更新:
我决定使用 jQuery AutoComplete。
我有以下
<form action="" method="post">
<input type="text" class="auto" name="search" autocomplete="off">
</form>
<script>
$(document).ready(function($){
$('.auto').autocomplete({
source:'connect.php',
minLength:1
});
});
</script>
还有connect.php 我知道我必须在将 $term 输入到我的查询之前对其进行清理。
if(isset($_GET['term'])) {
require "db.php";
$con = mysqli_connect("$host","$user","$password","$db");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$term = $_GET['term'];
$query = "SELECT `name` FROM `products` WHERE `name` LIKE '%$term%'";
$result = mysqli_query($con, $query);
while ($row = mysqli_fetch_array($result)) {
echo json_encode($row);
}
}
现在,当我使用 chrome 工具检查响应时,它工作得很好,它以 JSON 格式带回了我想要的数据。
但是,出于某种原因,它在页面上显示“未找到结果”,即使有?
【问题讨论】:
-
试试谷歌搜索:JQuery 自动完成。
标签: javascript php jquery html mysqli