jquery自动完成与ajax和多个类别不起作用

时间:2014-04-24 10:31:08

标签: jquery ajax json jquery-ui jquery-ui-autocomplete

我正在尝试使用远程json以及categories http://jqueryui.com/autocomplete/#remote-jsonp来构建jquery自动完成http://jqueryui.com/autocomplete/#categories

远程json在jquery示例中不起作用。我无限期地得到装载旋转器。有什么不对吗?

我们如何将远程json与类别相结合?我试过但是不成功。这个例子本身不起作用。

1 个答案:

答案 0 :(得分:2)

jQuery UI示例

Remote JSONP datasource autocomplete example无效,当然是因为 自编写此示例以来,geonames.org webservice已发生变化。

http://ws.geonames.org/searchJSON执行GET请求,您将收到包含以下消息的json:

  

请为每个通话添加用户名,以便地理位置能够识别通话应用并计算通行费用。

当编写这个例子时,可能会接受匿名调用,但情况并非如此。

自动完成:远程源+类别

只需结合2个jquery ui示例:

// 1. Extends the jquery ui autocomplete widget to manage categories

$.widget("custom.catAutocomplete", $.ui.autocomplete, {
    _renderMenu: function(ul, items) { ... }
}

// 2. Then initialize your widget using a remote 
// data source and define each item category

$(...).catAutocomplete({
    source: function(request, response) {
        $.ajax({
            url: '...',
            success: function(data) {
                response($.map(data.data, function(item) {
                    return {
                        value: item.value,
                        label: item.label,
                        category: item.category
                    }
                }));
             }
          }
       }
});

我写了这个 jsFiddle 作为例子。它检索所请求用户的Github存储库,并按叉分组列出它们。