Как мне заставить этот код автозаполнения jQuery работать в FireFox? - PullRequest
1 голос
/ 29 мая 2011

Эй, ребята, У меня есть этот код jQuery, который работает в Chrome и Safari, но не в IE или 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 Ответ

2 голосов
/ 30 мая 2011

ОК, исправленный ответ. Изменен 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");
        }
});


});
...