我正在构建一个基于两个 Google API 的 jQuery 搜索建议脚本。每个 API 都会输出一个“相关性”整数(我将在每个项目旁边返回以进行演示),并且我希望能够按每个项目的该整数对结果进行排序。
我怎样才能做到这一点?我尝试让脚本将所有内容输出到一个变量中,但我无法完全解决。
可以在这里看到一个工作演示:http: //jsfiddle.net/rEPf3/
我的 jQuery 代码是:
$(document).ready(function(){
$("#search").keyup(function(){
$.getJSON("http://suggestqueries.google.com/complete/search?q="+$("#search").val()+"&client=chrome&callback=?",function(data){
var suggestion="";
for(var key in data[1]){
if(data[4]["google:suggesttype"][key]=="NAVIGATION"){
suggestion+="<li><a href='"+data[1][key]+"'>"+data[2][key]+"</a> <i>("+data[4]["google:suggestrelevance"][key]+")</i></li>";
}else{
suggestion+="<li>"+data[1][key]+" <i>("+data[4]["google:suggestrelevance"][key]+")</i></li>";
}
}
$("#suggest").html(suggestion);
});
$.getJSON("https://www.googleapis.com/freebase/v1/search?query="+$("#search").val()+"&limit=3&encode=html&callback=?",function(data){
var suggestion2="";
for(var key in data.result){
suggestion2+="<li>"+data.result[key].name+" <i>("+data.result[key].score*4+")</i></li>";
}
$("#suggest2").html(suggestion2);
});
});
});