Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery Ajax自动完成不显示结果_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript JQuery Ajax自动完成不显示结果

Javascript JQuery Ajax自动完成不显示结果,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个加载Jquery autocomplete的表单,我得到了结果,但它没有显示(带边框的空白)。如图所示: 以下是我的JQuery代码: <script type="text/javascript"> // Customer $('input[name=\'customer\']').autocomplete({ delay: 500, source: functi

我有一个加载Jquery autocomplete的表单,我得到了结果,但它没有显示(带边框的空白)。如图所示:

以下是我的JQuery代码:

<script type="text/javascript">
            // Customer
            $('input[name=\'customer\']').autocomplete({
                delay: 500,
                source: function (request, response) {
                    $.ajax({
                        url: 'getCustomer.php?filter_name=' + encodeURIComponent(request.term),
                        dataType: 'json',
                        success: function (json) {
                            response($.map(json, function (item) {
                                return {
                                    label: item.c_name,
                                    value: item.c_id
                                }
                            }));
                        }
                    });
                },
                select: function (event, ui) {
                    $('input[name=\'customer\']').val(ui.item.label);
                    $('input[name=\'customer_id\']').val(ui.item.value);
                    return false;
                },
                focus: function (event, ui) {
                    return false;
                }
            });
</script>

//顾客
$('input[name=\'customer\']')。自动完成({
延误:500,
来源:功能(请求、响应){
$.ajax({
url:'getCustomer.php?filter_name='+encodeURIComponent(request.term),
数据类型:“json”,
成功:函数(json){
响应($.map(json,函数(项){
返回{
标签:项目c_名称,
值:item.c\u id
}
}));
}
});
},
选择:功能(事件、用户界面){
$('input[name=\'customer\']').val(ui.item.label);
$('input[name=\'customer\u id\']').val(ui.item.value);
返回false;
},
焦点:功能(事件、用户界面){
返回false;
}
});
下面是AJAX结果:


这里有人有过同样的问题吗?顺便说一下,我正在使用管理员LTE模板。还在想我的代码出了什么问题。我已尝试导入其他
Jquery min js
,但仍然无法工作。仍然像那样显示(空白边框)。仅供参考:控制台日志中没有错误。

我猜您显示的AJAX响应(作为图像)是在您的
$.map()
修改它之前来自服务器的实际响应

您的
$.map()
函数迭代来自服务器的
json
响应,并尝试在每个元素中使用
c\u名称
c\u id
属性名称。但是来自服务器的
json
不包括那些属性名称-它有
customer\u id
name

因此,
$.map()
创建了一组空元素,并将它们传递给autocomplete。然后,Autocomplete有一组要显示的元素,但没有任何标签,这就是为什么您看到的下拉列表中有空的水平线,而不是什么都没有,这是在没有响应/匹配时看到的

您只需使用AJAX中相同的属性名称:

response($.map(json, function (item) {
    return {
        label: item.name,
        value: item.customer_id
    }
}));