我正在使用 jquery 自动完成功能将 GeoNames 中的城市加载到我页面上的文本框中:
$("#MyInput").autocomplete({
source: function (request, response) {
$.ajax({
url: "http://ws.geonames.org/searchJSON",
dataType: "jsonp",
data: {
featureClass: "P",
style: "full",
maxRows: 10,
name_startsWith: request.term
},
success: function (data) {
response($.map(data.geonames, function (item) {
return {
label: item.name + ", " + item.countryName,
value: item.name + " (" + item.countryName + ")" + " [" + item.countryCode + "]"
};
}));
}
});
}
}).data("autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a><strong>" + item.label + "</strong> / " + item.value + "</a>")
.appendTo(ul);
};
此外,我正在尝试覆盖 _renderItem 以在我的自定义视图中显示自动完成结果,但此方法不影响我的项目。我的代码有什么问题?您可以在jsfiddle.net/找到示例