jQuery UI自动完成不是';行不通

jQuery UI自动完成不是';行不通,jquery,jquery-ui,jquery-ui-autocomplete,Jquery,Jquery Ui,Jquery Ui Autocomplete,我正在尝试将jQueryUI与自动完成一起使用,但它不显示任何列表或任何内容。据我所知,没有必要使用jQuery UI声明uls或lis <html> <head> <link href="./jquery-ui.css" rel="stylesheet"> <script src="./jquery-1.11.1.js"></script> <script src="./

我正在尝试将jQueryUI与自动完成一起使用,但它不显示任何列表或任何内容。据我所知,没有必要使用jQuery UI声明
ul
s或
li
s

<html>
    <head>
        <link href="./jquery-ui.css" rel="stylesheet">

        <script src="./jquery-1.11.1.js"></script>
        <script src="./jquery-ui.js"></script>
    </head>

    <body>
        <input id="pu_location" size="38"  type="text" />                               
        <input type="hidden" id="pu_locationID" />

        <script>
            Script is below.
        </script>
    </body>
</html>

脚本如下。
脚本:

 <script>

$( document ).ready(function() {

        $("#pu_location").autocomplete({

            source: function(request, response) {

            $.getJSON("/test.php", { country_code: "USA",term:$('#pu_location').val()}, 
                      function(data) {
                        alert(data[0].id);
                        var array =[];
                        for(key in data){
                            if (data[key].label!=''){
                                array.push(data[key].label);
                                }
                            }
                            alert(array);
                            response(array);
                        });
            },
            delay: 100, 
            minLength: 3                        
            });
}); 
</script>

$(文档).ready(函数(){
$(“#pu_位置”)。自动完成({
来源:功能(请求、响应){
$.getJSON(“/test.php”,{country_code:“USA”,术语:$('pu#u location').val()},
功能(数据){
警报(数据[0].id);
var数组=[];
用于(输入数据){
如果(数据[键]。标签!=''){
array.push(数据[key].label);
}
}
警报(阵列);
响应(数组);
});
},
延误:100,
最小长度:3
});
}); 
顺便说一下,
数据
非常完美。
警报显示一切正常

编辑: 它现在可以与Chrome一起使用,但不能与Firefox一起使用

第一条线索: 删除:

您试图在这里创建自执行js函数,但这不是必需的,因为您已经准备好了函数annonymus函数

然后在生产线前放一根圆木

$("#pu_location").autocomplete({
只是为了确保这段代码正在执行


第二条线索:您在响应上显示数据,然后创建并填充数组,最后传递到响应数据,那么这种处理的意义是什么?

您能将代码格式化为o位吗,这样会更美观:)我试过了。我正在使用一个简单的文本编辑器。@Beri没有
$(function(){
函数(请求、响应){
作为
$(“#pu_位置”)之外的函数。自动完成({
代码看起来会更好,你知道……它被执行了,警报显示了正确的数据。我刚刚删除了它,但仍然无法显示检索到的内容。还尝试使用数据变量和创建的带字符串的数组,但没有成功。数组原因:我认为响应无法处理对象,所以我创建了一个带字符串的数组。没有“不起作用。你的代码可能永远不会执行。-代码被执行。
$(function(){
在这里是无用的,但不是错误的。Whell Arnold写道:“警报显示”,所以我们假设有执行。但我同意Regent的观点-删除这两行,它们会使你的代码变得模糊。”。
$("#pu_location").autocomplete({