我们正在使用Google自定义搜索API(付费服务器端API)来为搜索结果提供支持。
我想在搜索中添加自动完成功能 - 但是,是否有人知道是否支持此功能(通过服务器端API,还是通过某种客户端JSONP?)
我尝试使用Google自定义搜索的自动填充功能,但这似乎想要绘制搜索框并显示带有结果的Google广告,这是我不想要的。
答案 0 :(得分:13)
得到这样的工作 - 希望这有助于其他人:)
$(function () {
$('input.search')
.focus(function () { this.select(); })
.mouseup(function (e) { e.preventDefault(); })
.autocomplete({
position: {
my: "left top",
at: "left bottom",
offset: "0, 5",
collision: "none"
},
source: function (request, response) {
$.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(),
dataType: "jsonp",
success: function (data) {
response($.map(data[1], function (item) {
return {
label: item[0],
value: item[0]
};
}));
}
});
},
autoFill: true,
minChars: 0,
select: function (event, ui) {
$(this).closest('input').val(ui.item.value);
$(this).closest('form').trigger('submit');
}
});
});
答案 1 :(得分:1)
在撰写本文时(2013年6月),有一种更简单的方法可以获得自动完成,同时仍然将结果作为XML:
<gcse:searchbox-only enableAutoComplete="true"
resultsUrl="#"></gcse:searchbox-only>