我正在尝试创建一个自动完成输入框,当您单击内部键入时,从数据库加载自动完成单词列表。我通过AJAX调用从数据库中获得单词list loading,但当我将其传递给自动完成函数时,它开始返回404。
我不知道为什么我的警报中的数据显示正常,但是无法正常自动完成?
$(document).ready(function() {
$("#tags").click(function() {
$.ajax({
url: 'get_players.php',
success: function(data){
alert(data); // This returns the correct string.
$("#tags").autocomplete({
source: data
});
}
});
});
}); // END Document.ready.
更新:数据以字符串形式返回(我认为)。我想将它用于足球选秀计划,因此数据是由逗号分隔的球员标题列表。例如:
'Andy Dalton - QB Bengals', 'Adrian Peterson - RB Vikings', 'Tom Brady - QB Patriots'
这是我的get_players.php
<?php
//Connect to the Database.
$mysqli = new mysqli("localhost","username","password", "draftboard");
// Check said connection.
if ($mysqli->connect_errno)
{
print "An error has occured.";
}
// Get all the players.
$result = $mysqli->query("SELECT * FROM players");
if($result->num_rows > 0) {
// For each member of the group...
for($i = 0; $i < $result->num_rows; $i++)
{
$row = $result->fetch_assoc();
echo "'" .$row['name'] . " - " . $row['position'] . " " . $row['team']."', ";
}
$result->close();
}
?>
答案 0 :(得分:1)
autocomplete
需要一个url,数组或函数。您当前正在传递一个字符串,所以只需使用它将其转换为数组:
$("#tags").autocomplete({
source: data.split(",")
});