Bonjour,

Voila je debute en ajax et je rencontre un chti problème.

Je voudrais utiliser la fonction Ajax.Autocompleter de prototype pour completer automatiquement mon champ suivant les lettres saisies.
En faite cette partie fonctionne. Ma page sert en faite a gerer des repas, on saisie dans le input le repas que l'on souhaite séléctionné, puis la div correspondant a l'input recupere dans ma page php lié le nom des repas existant dans ma BDD.
Mon souci est que je voudrais trouver un moyen de récuperer l'id du <li> correspondant.

Voici le code de ma page affiché :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<input type="text" id="liste_entree" name="liste_entree" />
	<input type="hidden" name="entree_id" value=""/>
	<div id="autocomplete_entree" class="autocomplete"></div>
 
 
	<script type="text/javascript" language="javascript" charset="utf-8">
	new Ajax.Autocompleter("liste_entree", "autocomplete_entree", "ajax/liste_entree.php5", {
	method: 'post', 
	paramName: 'liste_entree'
	});
	</script>
Et voici ma page appelé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<?php 
$recup_entree=$_POST['liste_entree'];
if(isset($recup_entree)){ ?>
<ul>
<?php
 
$entree=mysql_query('SELECT * FROM entrees ORDER BY ent_nom');
while($liste_entree=mysql_fetch_array($entree)){
 
        if (substr(strtolower($liste_entree['ent_nom']),0,strlen($recup_entree)) == strtolower(stripslashes($recup_entree))) {?>
 
	 <li onclick="return false" id="<?php echo $liste_entree['ent_id'] ?>" value="<?php echo $liste_entree['ent_nom'] ?>"><?php echo htmlentities($liste_entree['ent_nom']) ?></li>
 
	<?php
        if (++$i >= 10) die('<li>...</li></ul>');
        }       
}?>
</ul>
<?php } ?>
Apres cela j'ai trouvé un moyen de l'affiché mais je ne sai pas comment le recupéré

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
	<script type="text/javascript" language="javascript" charset="utf-8">
	new Ajax.Autocompleter("liste_entree", "autocomplete_entree", "ajax/liste_entree.php5", { 
	afterUpdateElement : getSelectionId,
	});
 
	function getSelectionId(text, li) {
    alert (li.id);
	}
	</script>
Merci d'avance...J'imagine que si j'arrive a l'affiché, ca doit pas etre sorcier de le recupéré mais mes competence ne me le permette pas ^^