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
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
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