Javascript jquery自动完成不显示结果
当我键入未显示的结果时,我尝试使用jquery filter by id category自动完成,如下图所示: 当我点击tab network时,我得到了如下图片所示的数据: 这是我的javascript代码:Javascript jquery自动完成不显示结果,javascript,jquery,Javascript,Jquery,当我键入未显示的结果时,我尝试使用jquery filter by id category自动完成,如下图所示: 当我点击tab network时,我得到了如下图片所示的数据: 这是我的javascript代码: <script type="text/javascript"> $(function() { $(".keyword").autocomplete({ source: function(request, response) { $.ajax({
<script type="text/javascript">
$(function() {
$(".keyword").autocomplete({
source: function(request, response) {
$.ajax({
url: "search/autocomplete",
type: "GET",
dataType: "json",
data: {'id':1},
success: function(data) {
response($.map(data, function(item) {
return {
label: item.name,
value: item.id
};
}));
}
});
},
select:function(event,ui) {
$(".keyword").val(ui.item.label);
return false;
},
minLength: 2,
}).bind('focus', function () {
$('.ui-autocomplete').css('z-index','9999').css('overflow-y','scroll').css('max-height','300px');
// $('.ui-autocomplete').css('background','#09121a').css('color','#fff');
// $('.ui-menu .ui-menu-item-wrapper').css('padding','11px 1em 3px 1.4em !important');
// $(this).autocomplete("search");
// var btncategory = $('.btn-category').width();
// var left = '-'+btncategory+'px';
});
});
</script>
$(函数(){
$(“.keyword”).autocomplete({
来源:功能(请求、响应){
$.ajax({
url:“搜索/自动完成”,
键入:“获取”,
数据类型:“json”,
数据:{'id':1},
成功:功能(数据){
响应($.map)(数据、功能(项){
返回{
标签:item.name,
值:item.id
};
}));
}
});
},
选择:功能(事件、用户界面){
$(“.keyword”).val(ui.item.label);
返回false;
},
最小长度:2,
}).bind('focus',function(){
$('.ui autocomplete').css('z-index','9999').css('overflow-y','scroll').css('max-height','300px');
//$('.ui autocomplete').css('background','#09121a').css('color','#fff');
//$('.ui menu.ui菜单项包装器').css('padding','11px 1em 3px 1.4em!important');
//$(此)。自动完成(“搜索”);
//var btncategory=$('.btn category').width();
//变量左='-'+BTN类别+px';
});
});
如果我输入“a”-我什么也看不到,但当我删除“a”-我看到所有三个。因此,jQuery似乎不知道应该在object.name中查找值。正如Tan Duong所说,您的响应只包含名为
value
的属性。它无法找到名称
和id
,因此您的结果显示的是空白数据
将“成功”功能更改为:
success: function(data) {
response($.map(data, function(item) {
return {
label: item.value,
value: item.value
};
}));
}
它应该是label:item.value,value:item.value,因为您的响应只是返回值。