Javascript Jquery从XML自动完成(多个值)
我有一个XML格式的机场列表,我想与jquery autocomplete一起使用 XML文件如下所示:Javascript Jquery从XML自动完成(多个值),javascript,jquery,Javascript,Jquery,我有一个XML格式的机场列表,我想与jquery autocomplete一起使用 XML文件如下所示: <item code="AAR" airport="Aarhus" country="Denmark" /> 然而,警报只显示“未定义”,我缺少什么?我认为您的问题可能是,当您给autocomplete对象列表时,它需要标签和值属性 也许可以试试这个: $(function() { $.ajax({ url: "airports.xml", d
<item code="AAR" airport="Aarhus" country="Denmark" />
然而,警报只显示“未定义”,我缺少什么?我认为您的问题可能是,当您给autocomplete对象列表时,它需要标签和值属性 也许可以试试这个:
$(function() {
$.ajax({
url: "airports.xml",
dataType: "xml",
success: function( xmlResponse ) {
var data = $("item", xmlResponse ).map(function() {
return {
label: $( "airport", this ).text(),
value: $( "code", this ).text()
};
}).get();
$( "#airport_from" ).autocomplete({
source: data,
minLength: 0,
select: function( event, ui ) {
alert(ui.item.value);
}
});
}
});
});
最后,我将XML转换为CSV,再转换回XML,将格式更改为:
<airport>
<airport_code>AAR</airport_code>
<airport_name>Aarhus</airport_name>
<airport_country>Denmark</airport_country>
</airport>
AAR
奥胡斯
丹麦
现在,代码正在按预期工作。您确定映射的
数据的格式正确吗?能否将传递到自动完成的数据发布到中?代码基于jquery ui页面中的示例,他们在那里使用的.xml的内容是不同格式的London 2643743
,在示例中,data
是geoname
,他们得到name
和geonameId
的值,所以我想问题是.xml的格式?在这种情况下,我需要调整什么?
<airport>
<airport_code>AAR</airport_code>
<airport_name>Aarhus</airport_name>
<airport_country>Denmark</airport_country>
</airport>