Le DVD vidéo de Florent V. :

Elephorm apprendre XHTML et CSS
Auteur
sylvainbucule
# 11 Jan 2009 - 11:24:09
Citer
La patience n'a de véritable
75 Posts
Bonjour,

J'utilise JQUERY dans un projet.

Je souhaite récupérer l'id de l'élément cliqué dans une liste à plusieurs niveaux. Lorsque je clique sur un élément à la racine de la liste, pas de problème, mais lorsqu'il s'agit d'un élément enfant, je récupère l'id de l'élément cliqué puis de l'élément parent et ainsi de suite. Je sais que cela est dû à l'effet de bouillonnement mais je ne sais pas comment le stopper. (il faut utiliser false mais où ?)

Mes recherches sur le forum n'ont rien donné et pourtant j'ai déjà vu ce problème.

Voici mon code HTML :

<ul class="document">
<li id="dir1" class="dir">
<ul>
<li id="dir6" class="dir"></li>
</ul>

</li>
<li id="dir3" class="dir">
<ul>
<li id="dir7" class="dir"></li>
</ul>
</li>
</ul>


Voici le code javascript :

$(function(){
$(".dir").click( function () { recupIdDossierClique(this);});
});

var idCssDossier;
function recupIdDossierClique(o)
{
//on récupère la valeur de la propriété id
idCssDossier = $(o).attr("id");
alert(idCssDossier);

}


Merci
Modifié par sylvainbucule (11 Jan 2009 - 12:06)

^
sylvainbucule
# 11 Jan 2009 - 12:05:58
Citer
La patience n'a de véritable
75 Posts
J'ai fini par trouver une solution mais je ne sais pas si c'est la meilleure.

J'utilise la méthode bind prévue par JQUERY de la façon suivante :

$(function(){
$(".dir").bind("click", function(event){
event.stopPropagation();
recupIdDossierClique(this);
});
});

var idCssDossier;

function recupIdDossierClique(o)

{

//on récupère la valeur de la propriété id

idCssDossier = $(o).attr("id");

alert(idCssDossier);
}


Cela fonctionne langue

^
vivou
# 27 Feb 2009 - 12:33:13
Citer
1 Posts
Merci pour ce sujet, il est très intéressant et vient de m'aider.
Mais je ne parvient pas a utiliser cette variable récupérer pour cibler un div
j'aimerais faire un truc du genre :

$("#etape1 a").click(function(){

var block_a_afficher;

block_a_afficher= $(this).attr("id");
$("#nom_du_gros_block #block_a_afficher").addClass("visible");
$("#nom_du_gros_block #block_a_afficher").show();
return false;
});

quelq'un peut il m'aider?
sachant que le lien pour afficher un block possese le meme id que le block qu'il doit afficher.

^
dunjl
# 27 Feb 2009 - 16:12:36
Citer
118 Posts
Salut,

sachant que le lien pour afficher un block possese le meme id que le block qu'il doit afficher.

Impossible, un id doit être unique sur ton document. Tu dois régler ce problème avant toute chose.
dunjl

^
Powered by Phedio v3.8.5 beta in 4.9 ms © dew