Autocomplete 谷歌自定义搜索API自动完成?

Autocomplete 谷歌自定义搜索API自动完成?,autocomplete,google-search-api,Autocomplete,Google Search Api,我们正在使用谷歌定制搜索API(付费服务器端API)来支持我们的搜索结果 我想在搜索中添加一个自动完成功能——但是,有人知道是否有对它的支持(通过服务器端API,或者通过某种客户端JSONP?) 我曾尝试使用autocomplete进行谷歌定制搜索,但这似乎是为了绘制搜索框并显示带有搜索结果的谷歌广告,这是我不想要的。实现了类似的功能-希望这对其他人有所帮助:) $(函数(){ $('input.search') .focus(函数(){this.select();}) .mouseup(函数(

我们正在使用谷歌定制搜索API(付费服务器端API)来支持我们的搜索结果

我想在搜索中添加一个自动完成功能——但是,有人知道是否有对它的支持(通过服务器端API,或者通过某种客户端JSONP?)


我曾尝试使用autocomplete进行谷歌定制搜索,但这似乎是为了绘制搜索框并显示带有搜索结果的谷歌广告,这是我不想要的。

实现了类似的功能-希望这对其他人有所帮助:)

$(函数(){
$('input.search')
.focus(函数(){this.select();})
.mouseup(函数(e){e.preventDefault();})
.自动完成({
职位:{
我的:“左上”,
在“左下角”,
偏移量:“0,5”,
碰撞:“无”
},
来源:功能(请求、响应){
$.ajax({
url:“http://clients1.google.com/complete/search?q=“+request.term+”&hl=en&client=partner&source=gcsc&partnerid={GOOGLESEARCHID}&ds=cse&nocache=“+Math.random().toString(),
数据类型:“jsonp”,
成功:功能(数据){
响应($.map)(数据[1],函数(项){
返回{
标签:项[0],
值:项目[0]
};
}));
}
});
},
自动填充:对,
明查斯:0,
选择:功能(事件、用户界面){
$(this.closest('input').val(ui.item.value);
$(this).closest('form').trigger('submit');
}
});
});
在撰写本文时(2013年6月),有一种更简单的方法可以获得自动完成,同时仍然以XML的形式获得结果:

  • 使用Google自定义搜索元素控件()
  • 只需使用搜索栏控件,您可以根据需要设置样式

  • “诀窍”是您可以指定“resultsUrl”,这意味着您可以将实际搜索结果定向到通过XMLAPI生成的页面,而无需自己实现搜索框

感谢您提供此代码,我有一个不明白的问题。我看到网络请求正确发出,我看到它有200个响应,以及预期的响应数据,但由于某种原因,success函数从未被命中。有什么想法吗?太棒了,对我有用。保罗,如果你没有看到任何建议,那可能是谷歌根本没有任何建议给你。我真的被我的自定义网站搜索提供的很少建议吓了一跳;我最终在CSE控制面板中手动添加了大量。太好了,谢谢你,这对我也很有用。我唯一的问题是
.ui helper hidden accessible
span,它现在正好出现在结束正文标记之前。这是可以关闭的,而不是使用css隐藏它吗?有人能确认上面答案中的源URL仍然有效,并且通过json api实现google自定义搜索自动完成的方法确实仍然可行吗?有人愿意分享成功实施这一点的联系吗?