UI Autocomplete : comment récupérer un id ?
Bonjour à tous,
Je suis débutant en javascript et la solution à mon problème est certainement très très simple.
Pour implanter Autocomplete, je me suis basé sur un exemple : http://www.ycerdan.fr/tag/jquery/
Le code fonctionne bien, mais je voudrai juste retourner le champ 'id' à la place du champ 'name'.
Je pense qu'il doit peut-être falloir utiliser 'return', mais je ne sais vraiment pas comment.
(bien sûr, j'ai demandé à mon ami google de m'aider et j'ai fait une recherche sur le forum, mais après avoir consulté 14 pages je n'ai toujours pas réussi à trouver une réponse à mon niveau...)
Si vous pouvez prendre quelques minutes pour m'aider, je vous en serai très reconnaissant :)
Voici le code xml (test.php), le code javascript (que j'essaie d'adapter) et le code html.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| header ("content-type: text/xml");
echo "
<root>
<user>
<name>A1_name</name>
<id>A1_id</id>
</user>
<user>
<name>A2_name</name>
<id>A2_id</id>
</user>
<user>
<name>B1_name</name>
<id>B1_id</id>
</user>
</root>"; |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| $(document).ready // Lorsque la totalité de la page est chargée
( function()
{ $.ajax
({ // Requete ajax
type: "POST", // envoie en POST
url: "test.php", // url cible du script PHP
async: true, // mode asynchrone
data: "xml", // données envoyées
success: function(xml) // Lorsque le PHP à renovyé une réponse
{ var elementsArray = new Array();
$(xml).find('user').each(function() // pour chaque "element"
{ var nom = $(this).find('name').text();
var id = $(this).find('id').text();
//alert(nom);
elementsArray.push(nom); // ajout dans le tableau à afficher
});
$("#example").autocomplete(elementsArray); // activation de l'autocompletion
}
});
}
); |
Code:
1 2 3 4
| <form method="get">
Autocompletion : <input id="example" name="exemple" type="text" />
<input name="submit" type="submit" value="valider">
</form> |