L'index d'un element

Mammouth du PHP | 725 Messages

03 juil. 2011, 04:31

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

devlop78
Invité n'ayant pas de compte PHPfrance

04 juil. 2011, 03:26

Ouai ... Sinon tu mets les écouteurs d'évenements directement sur les concernés, ou alors tu récupères le target de l'évenement

Mammouth du PHP | 725 Messages

04 juil. 2011, 04:27

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

Mammouth du PHP | 661 Messages

04 juil. 2011, 23:23

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

Mammouth du PHP | 725 Messages

05 juil. 2011, 03:31

mes donnees sont extraits d'une BDD, ils vont porter le meme id ainsi que la meme class

Mammouth du PHP | 672 Messages

05 juil. 2011, 11:32

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 !

Mammouth du PHP | 725 Messages

05 juil. 2011, 14:48

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

Mammouth du PHP | 661 Messages

05 juil. 2011, 22:29

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
?

Mammouth du PHP | 725 Messages

11 juil. 2011, 07:28

c'est une solution, oui de mettre un id unique, c'est quoi l'erreur qui venait de mon code?

devlop78
Invité n'ayant pas de compte PHPfrance

11 juil. 2011, 23:18

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