如果我调用php文件,因为源代码不会自动完成,但是如果我使用数组就可以了。
PHP
$query = mysql_query($req);
while($row = mysql_fetch_assoc($query))
{
$results[] = array('login' => $row['login']);
}
echo json_encode($results);
//[{"login":"lleal"},{"login":"mmoura"},{"login":"vmatos"},{"login":"csamante"}]
HTML
$( "#logine" ).autocomplete(
{
source: 'loginsearch.php',
})
如果我将json转换为这样的数组,它可以工作:
var lista = [];
$.ajax({
type: "GET",
dataType: "json",
url: "loginsearch.php",
success: function (data) {
$.each(data, function (index, data) {
lista.push(data.login);
});
}
});
$( "#logine" ).autocomplete(
{
source: lista,
})
我只花了一整天的时间来讨论这个想法?
答案 0 :(得分:2)
您的JSON必须包含变量'label'和'value'才能使自动完成工作。
试
while($row = mysql_fetch_assoc($query))
{
$results[] = array('label' => $row['login'], 'value' => $row['login']);
}
或任何您希望显示为值和标签的内容。