您好我已经阅读了很多关于此问题的答案,并按照说明操作,但这对我不起作用。
$(document).ready(function(){<br> $(".header-search-box").autocomplete({ source: function(req,res) { $.ajax({ url: "http://localhost:3000/autocomplete/"+req.term, dataType: "jsonp", type: "GET", data: { search: req.term } }); }, select: function(event, ui) { } }).data('ui-autocomplete')._renderItem = function(ul,item){ console.log('I am coming back') return $("<li>").append("<a>"+item.model+"</a>").appendTo(ul); }
});
此代码无效,_renderItem函数甚至不会打印到控制台。
我再次遵循以前答案中的所有建议,任何帮助将不胜感激
修改1
Ajax成功功能就是这个
success: function(data) { res($.map(data, function(item) { return { : item.make + ' ' +item.model,//text comes from a collection of mongo value: item.model }; })); },
我不确定如何将其转换为数据对象......
答案 0 :(得分:1)
我尝试使用本地数据源自定义_renderItem
。
它运行良好,并提供设置警报。
看看这里:http://jsfiddle.net/XJ5En/
JS:
var tags = ["abc","bas","cqwe"];
$(".header-search-box").autocomplete({
source: tags
}).data('ui-autocomplete')._renderItem = function(ul,item){
alert('I am coming back');
return $("<li>").append("<a>"+item.value+"</a>").appendTo(ul);
};
将响应分配给源时必定会出错。请检查一下。