我知道,这里有大约 20 个问题提到了 jQuery UI 自动完成。我读了一堆,我仍然卡住了......
我正在尝试学习如何实现 jQuery UI 的自动完成功能,我正在学习本教程,因为它似乎最接近我的需求以及我需要如何处理 PHP/MySQL 端。
我一直在那个 tut 和文档之间来回走动,我似乎无法让它工作。
我正在尝试设置(我认为是)一个简单的自动完成功能,从数据库查询中获取单个字段。
这是我目前拥有的 jQuery 代码:
$('input.urlSearch').autocomplete({
source: '../scripts/branchAdmin.php',
minLength: 3
});
这是PHP代码:
if (isset($_GET['term'])) {
$searchTerm = mysqli_real_escape_string($_GET['term']);
require_once('dbConnect.php');
$fetch = mysqli_query("SELECT url FROM branches WHERE url LIKE '%" . $searchTerm . "%'");
$returnArr = array();
while($row = mysqli_fetch_array($fetch, MYSQLI_ASSOC)) {
$rowArr['url'] = $row['url'];
array_push($returnArr,$rowArr);
}
mysqli_close($dbc);
header('Content-Type: application/json');
echo json_encode($arr);
}
这是文本框的 HTML
<td id="newBranchUrl" class="branchData">
<input type="text" id="txtNewBranchUrl" class="urlSearch" />
</td>
查询中的“url”字段实际上是一个简短的州字符串,在两个单词的州(例如北卡罗来纳州)的情况下,单词之间有一个破折号。
当我开始在文本框中输入时,什么也没有发生 - 无论我输入 test 我知道是否在数据库中。我也没有在控制台中看到任何网络活动(使用 Chrome)。
tut 确实让它看起来很简单!我在这里做错了什么?