0

如果我将 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,
})

我只是花了一整天的时间来解决这个问题,有什么想法吗?

4

1 回答 1

2

Your JSON have to contain the variables 'label' and 'value' for the autocomplete to work.

try

while($row = mysql_fetch_assoc($query))
    {
        $results[] = array('label' => $row['login'], 'value' => $row['login']);
    }

or whatever you like to display as value and label.

于 2013-06-06T20:34:41.167 回答