Page 1 sur 1

L'index d'un element

Posté : 03 juil. 2011, 04:31
par rimie
Bonjour!

Quand je clique sur un menu selectionne de la BDD, je voudrais recuperer effectuer un slideToggle mais ca marche pas:
$(".hMenu").click(function () {
		var index = $(".hMenu").index(this);
		console.log(index);
		$('.ulMenus:eq(' +index+ ')').slideToggle();

<?php

$requete = 'SELECT...';
$sql = mysql_query($requete) OR DIE (mysql_error());

// code
	echo '<div class="hMenu">'.$row->hmenus.'</div>'; // enete du menu
	echo '<ul class="ulMenus">';
while () {
	echo '<li class="liMenus">'.$row1->bmenus.'</li>'; // les sous menus
}
	echo '</ul>';


?>
merci a vous

Re: L'index d'un element

Posté : 04 juil. 2011, 03:26
par devlop78
Ouai ... Sinon tu mets les écouteurs d'évenements directement sur les concernés, ou alors tu récupères le target de l'évenement

Re: L'index d'un element

Posté : 04 juil. 2011, 04:27
par rimie
Ouai ... Sinon tu mets les écouteurs d'évenements directement sur les concernés, ou alors tu récupères le target de l'évenement
j'ai pas compris les ecouteurs d'evenements

Re: L'index d'un element

Posté : 04 juil. 2011, 23:23
par Nours312
conceptuellement, j'aime bien le principe de faire en sorte que les "enfants" devants réagir à un evenement lié à leur parent porte en className l'id du parent ...

echo '<div class="hMenu" id="monMenu_1">'.$row->hmenus.'</div>'; // enete du menu
        echo '<ul class="ulMenus">';
while () {
        echo '<li class="liMenus monMenu_1">'.$row1->bmenus.'</li>'; // les sous menus
}
        echo '</ul>';
tu noteras que c'est ainsi relativement simple lors du click sur le parent de retrouver tous les enfants ... non ?

Code : Tout sélectionner

$(".hMenu").click(function () { $('.'+$(this).id).slideToggle(); });
(ou dans le genre, je suis alergique à jQuery ... un autre devrais mieux te conseiller ;) (ou confirmer :) )

Re: L'index d'un element

Posté : 05 juil. 2011, 03:31
par rimie
mes donnees sont extraits d'une BDD, ils vont porter le meme id ainsi que la meme class

Re: L'index d'un element

Posté : 05 juil. 2011, 11:32
par macgawel
mes donnees sont extraits d'une BDD, ils vont porter le meme id ainsi que la meme class
#-o

Par définition, un ID(entifiant - qui sert à identifier un élément) doit être unique !

Re: L'index d'un element

Posté : 05 juil. 2011, 14:48
par rimie
mes donnees sont extraits d'une BDD, ils vont porter le meme id ainsi que la meme class
#-o

Par définition, un ID(entifiant - qui sert à identifier un élément) doit être unique !
c'est pour cela que je recupere l'index et pas l'ID ni la class

Re: L'index d'un element

Posté : 05 juil. 2011, 22:29
par Nours312
c'est pour cela que je recupere l'index et pas l'ID ni la class
tu me perds là ... tu ne peux pas faire un truc du style :
echo '<div class="hMenu" id="monMenu_'.$row->id.'">'.$row->hmenus.'</div>'; // enete du menu
?

Re: L'index d'un element

Posté : 11 juil. 2011, 07:28
par rimie
c'est une solution, oui de mettre un id unique, c'est quoi l'erreur qui venait de mon code?

Re: L'index d'un element

Posté : 11 juil. 2011, 23:18
par devlop78
Bah, pas de rapport vraiment avec ton code, c'est juste qu'il ne permettait pas de faire le lien entre la bdd et les résultats affichés.

En plus, on ne sait toujours pas ce qui ne va pas, et tu aurais pu faire une petite recherche sur les écouteurs ...
Un événement est un objet de type Event. Les événements sont générés lors d'une action de l'utilisateur sur l'interface. Par exemple, le clic sur un bouton peut générer un événement de type MouseEvent. Mais ces événements n'ont de conséquences sur le programme que si l'objet possède un écouteur ( listener ) à l'écoute
http://www.florat.net/tutorial-java/chapitre09.html

A savoir java, AS, JavaScript, le principe est le même