【问题标题】:jquery autocomplete use multiple sources (local json api and jsonp)jquery 自动完成使用多个来源(本地 json api 和 jsonp)
【发布时间】:2012-11-06 17:35:05
【问题描述】:

基本上我有一个酒店搜索引擎,网站顶部有一个搜索字段,必须显示自动完成结果。结果可以是酒店或位置(城市)。类似于 Facebook 自动完成功能(搜索可以是人员、页面等)

我从基本的地名 jsuery 示例开始:http://jqueryui.com/autocomplete/#remote-jsonp

但我不知道如何为酒店使用我自己的 JSON api。我知道我应该将我的 JSON 酒店与 geonames 中的酒店合并?谁能告诉我如何做到这一点?

【问题讨论】:

  • 将所有来源合并到一个数组中,然后使用设置您的自动完成来源

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


【解决方案1】:

最简单的高级代码应如下所示,其中 requestFromSource1 是您请求地理名称的地方,requestFromSource2 是您查询自己的自动完成引擎的地方。

  $( "#city" ).autocomplete({
        source: function( request, response ) {
    var resultFromSource1 = null;
    var resultFromSource2 = null;
    var agregateResults = function(){
        if( resultFromSource1 && resultFromSource2){
            var result = resultFromSource1.concat(resultFromSource2);
            response(result);
        }
    }
    requestFromSource1(function( result ){
        resultFromSource1 = result;
        agregateResults();
    });
    requestFromSource2(function( result ){
        resultFromSource2 = result;
        agregateResults();
    });
        }
    });
});

更复杂的情况是通过相关性得分进行合并。恐怕您的情况可能会出现这种情况。

【讨论】:

  • 非常好的例子,正是我所需要的。
猜你喜欢
  • 2012-04-26
  • 2014-11-30
  • 1970-01-01
  • 2013-07-11
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 2012-12-12
相关资源
最近更新 更多