2010-07-31 3 views
0

Utilisation de la saisie semi-automatique "données XML analysées une fois" de jQuery UI. J'ai vérifié le flux et il ressort comme valide et je l'ai même enregistré avec l'erreur() et j'obtiens OK 200 pour le statut et 4 pour le readystate (le fichier XML peut être vu ci-dessous).Le code de saisie semi-automatique de l'interface utilisateur jQuery ne fonctionne pas avec un code XML valide, pourquoi?

http://www.finalfantasyunion.com/includes/xml/games.xml

Mon code jQuery est:

<script> 
$(document).ready(function() { 
    $.ajax({ 
dataType: 'xml', 
url: '/includes/xml/games.xml', 

success: function(xmlResponse) { 
var data = $('game', xmlResponse).map(function() { 
    return { 
    name: $('name', this).text(), 
    parsed: $('parsed', this).text() 
    }; 
}).get(); 

$("#category").autocomplete({ 
    source: data, 
    minLength: 2, 

    select: function(event, ui) { 
    alert(ui.item.name); 
    } 
}); 
}, 

error: function(xmlResponse) { 
console.log(xmlResponse); 
} 
    }) 
    }); 
</script> 

Si cela fait une différence, ce fichier le code ci-dessus est chargé dans se fait via Ajax (essentiellement, j'ai une page qui a un div , qui charge dans un PHP, qui incluent le code ci-dessus en haut). Mais je doute que cela ait quelque chose à voir avec ça, puisque le xmlResponse semble bien paraître, mais n'arrive pas à comprendre pourquoi le succès: ne tire pas.

Répondre

1

Vérifiez la section Présentation en the plugin documentation:
Les données locales peuvent être un simple tableau de chaînes, ou contient des objets pour chaque élément du tableau, soit d'une étiquette ou d'un bien valeur ou les deux.

Notez que vous devez avoir la propriété label ou value dans votre objet js pour l'afficher. Donc, essayez quelque chose comme ceci:

return { 
    value: $('name', this).text(), 
    name: $('name', this).text(), 
    parsed: $('parsed', this).text() 
}; 
+0

Tout à fait, je garderai cela à l'esprit. –

+0

Désolé, il a fallu un moment pour répondre à cela, cela m'a aidé à comprendre une partie du problème. –