我想实现一个自动完成文本框,其值由返回XML内容的远程脚本生成。我使用JQuery-1.4.3和JQuery-UI-1.8.5中的自动完成小部件。jquery:远程xml源的自动完成
我已经研究了XML data parsed once例如自动完成演示页,并想实现的评论:
这也应该作为对如何解析远程XML数据源的引用 - 解析将只发生在源回调中的每个请求。
作为一个测试,我试图让这个工作与提供的XML演示。上面的评论表明,自动完成'source'属性必须用Ajax调用来替换。然而,当我在demo page提供的功能修改这个,我没有收到与下面的自动完成功能的任何结果:
$("#birds").autocomplete({
source: function(request, response) {
$.ajax({
url: "london.xml",
dataType: "xml",
success: function(xmlResponse) {
var data = $("geoname", xmlResponse).map(function() {
//alert($('name', this).text());
return {
value: $("name", this).text() + ", " +
($.trim($("countryName", this).text()) || "(unknown country)"),
id: $("geonameId", this).text()
};
}).get();
}
})
},
minLength: 0,
select: function(event, ui) {
log(ui.item ?
"Selected: " + ui.item.value + ", geonameId: " + ui.item.id :
"Nothing selected, input was " + this.value);
}
});
不过,注释掉简单调试弹出消息显示,Ajax调用并设法检索用于构建数据的值。我的错误在哪里?
任何帮助非常感谢!
亲切的问候,
罗恩·范登布兰登