2011-05-29 60 views
1

嘿家伙, 我有这个jQuery代码,它可以在Chrome和Safari中使用,但不能在IE或FireFox上使用。它有什么问题?如何获得这个jQuery自动完成代码在FireFox中工作?

<script> 

$(document).ready(function() { 
    var myArr = []; 

    $.ajax({ 
     type: "GET", 
     url: "airports.xml", 
     dataType: "xml", 
     success: parseXml, 
     complete: setupAC, 
     failure: function(data) { 
      alert("XML File could not be found"); 
      } 
    }); 

    function parseXml(xml) 
    { 
     //find every query value 
     $(xml).find("airport").each(function() 
     { 
      myArr.push($(this).attr("label")); 
     }); 
    } 

    function setupAC() { 
     $("input#depart_from").autocomplete({ 
       source: myArr, 
       minLength: 1, 
       select: function(event, ui) { 
        $("input#depart_from").val(ui.item.value); 
        $("#submitform").submit(); 
       } 
     }); 
    } 
}); 

</script> 

这里是我的输入元素

<input id="depart_from" type="text" name="depart_from" placeholder="Depart from"/> 

有什么建议?

+1

你会得到什么错误?什么不工作? – 2011-05-29 19:41:55

+0

这是奇怪的部分。我在Firebug中没有遇到任何错误。真奇怪。下拉式自动完成列表不显示。它在Safari和Chrome中显示。 – Ismailp 2011-05-29 20:01:09

回答

2

好的,修改后的答案。将dataType更改为html并修复xml文档中的错误:

$(document).ready(function() { 
var myArr = []; 
function parseXml(xml) 
{ 
    //find every query value 
    $(xml).find("airport").each(function() 
    { 
     myArr.push($(this).attr("label")); 
    }); 
} 

function setupAC() { 
    $("input#depart_from").autocomplete({ 
      source: myArr, 
      minLength: 1, 
      select: function(event, ui) { 
       $("input#depart_from").val(ui.item.value); 
       $("#submitform").submit(); 
      } 
    }); 
} 

$.ajax({ 
    type: "GET", 
    url: "airports.xml", 
    dataType: "html", 
    success: parseXml, 
    complete: setupAC, 
    failure: function(data) { 
     alert("XML File could not be found"); 
     } 
}); 


}); 
+0

没有帮助!还有其他建议吗? – Ismailp 2011-05-29 20:16:01

+0

我为它做了一个jsfiddle。你能发送一个链接到一个示例XML文件?我可以插入它,看看它是否显示任何问题。 – 2011-05-29 20:21:05

+0

http://trendbreach.com/xml/airports.xml – Ismailp 2011-05-29 20:24:41