Javascript Jquery从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

我有一个XML格式的机场列表,我想与jquery autocomplete一起使用

XML文件如下所示:

<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>