0

我正在尝试第一次使用autocompletejquery ui 的功能,但我无法让它正常工作

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;
}
4

2 回答 2

2

您的 JSON 应该返回labelandvalue参数,而不是idand headline

具有标签和值属性的对象数组:
[ { label: "Choice1", value: "value1" }, ... ]

http://jqueryui.com/demos/autocomplete/

于 2012-05-21T11:17:34.280 回答
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
});
于 2012-05-21T15:19:03.347 回答