繁体   English   中英

使用PHP从Ajax进行jQuery自动完成无法正常工作

[英]Jquery autocomplete with Ajax from PHP not working

下面的ajax调用

var whatever = [];
$.ajax({
    url: "myScript.php",
    success: function (response) {
        whatever = response.split(",");
    }
});

正在生成:

"ABC,DEF,GHI,JKL,"

我想在JQuery自动完成中使用哪些值:

$('#conta').autocomplete({
        source:whatever
    });

但是,自动完成弹出窗口中不显示任何内容。

如果我直接在JS中键入值,则效果很好:

var whatever=[
        "ABC",
        "DEF","GHI","JKL"
    ];

但是为什么当它由PHP生成时却不起作用?

在您的源代码中,php数组需要具有带有“ label”键的行,如下所示:

foreach($rows as $key)
{
    $results[] = array('label' => ($key['nome']));
}

echo json_encode($results);

另外,如果您的数据库行未使用utf8编码,则需要对其进行编码,否则它将为“ null”:

    $results[] = array('label' => utf8_encode($key['nome']));

更新:

myScript.php:

...
foreach($rows as $key)
{
    $results[] = array('label' => ($key['nome']));
}

echo json_encode($results);

Javascript:

$(function(){
    $('#conta').autocomplete({
        source:"myScript.php"
    });
});

尝试把$('#conta').autocomplete({ source:whatever });

在成功回调函数中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM