我正在尝试第一次使用jquery ui的autocomplete
功能,但我无法让它正常工作
javascript代码:
$("#search_input").autocomplete({
source: function(request, response) {
$.getJSON( "do.php", { OP: "news_search", category: cat_id, get: request }, function(result){
/*response($.map(result, function(item) {
return item.NAME;
}));*/
response(result);
console.log(result);
})
},
minLength: 2
});
它会返回数据,但不会显示:http://i46.tinypic.com/1z85c0.png
我甚至尝试添加一些css来查看它是否有效:
.ui-autocomplete{
position: absolute;
z-index: 1000;
border: 1px solid red;
}
答案 0 :(得分:2)
您的JSON应该返回label
和value
个参数,而不是id
和headline
。
具有标签和值属性的对象数组:
[{label:" Choice1",value:" value1" },...]
答案 1 :(得分:0)
我最后阅读了这篇文章:http://net.tutsplus.com/tutorials/javascript-ajax/how-to-use-the-jquery-ui-autocomplete-widget/
所以这就是我如何使用它并且它的工作原理:
$("#search_input").autocomplete({
source: function(request, add) {
$.getJSON("do.php", { OP: "news_search", category: cat_id, get: request }, function(results){
consoloe.log(results)
var suggestions = [];
$.each(results, function(i, val){
suggestions.push(val.headline)
});
add(suggestions);
});
},
minLength: 2
});