IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

[jQuery] sélection d'une liste imbriqué


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 95
    Par défaut [jQuery] sélection d'une liste imbriqué
    Bonjour.
    Mon pb est simple pourtant je butte dessus...
    Voilà j'ai une liste qui est imbriqué dans une autre.

    Au depart seul la liste de premier niveau. La liste de deuxieme nivveau est invisible.
    Lors du clic sur un élément de la liste du premier niveau, alors la liste de deuxieme niveau de cet élément doivent d'afficher (je peux avoir un 3ieme niveau lui même imbriqué dans la liste de niveau 2 caché).

    La contrainte : un ID uniquement sur la liste de premier niveau. Les autres listes doivent etre sasn class ou ID. Donc je suis obligé jouer avec les child je pense.

    Un exemple :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    <ul id="main">
    	<li>texte 1
    		<ul>
    			<li>texte 1.1
    				<ul>
    					<li>texte 1.1.1</li>
    					<li>texte 1.1.2</li>
    					<li>texte 1.1.3</li>
    				</ul>
    			</li>
    			<li>texte 1.2</li>
    			<li>texte 1.3</li>
    		</ul>
    	</li>
    	<li>texte 2
    		<ul>
    			<li>texte 2.1
    				<ul>
    					<li>texte 2.2.1</li>
    					<li>texte 2.2.2</li>
    					<li>texte 2.2.3</li>
    				</ul>
    			</li>
    			<li>texte 2.2</li>
    			<li>texte 2.3</li>
    		</ul>
    	</li>
    </ul>

    Au depart seul ceci est visible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <ul id="main">
    	<li>texte 1</li>
    	<li>texte 2</li>
    </ul>
    Si on clic sur "texte 1" alors on verra ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <ul id="main">
    	<li>texte 1
    		<ul>
    			<li>texte 1.1</li>
    			<li>texte 1.2</li>
    			<li>texte 1.3</li>
    		</ul>
    	</li>
    	<li>texte 2</li>
    </ul>
    Et ainsi de suite.

    Du coup en jQuery ca commence comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $(document).ready(function() {
    	$("#main > li").click(function(){
    		// Et ici j'ai essayé plein de trucs pour selectionner la liste contenu dans le LI courrant sans succès...
    	});
    });

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    Salut,

    as-tu essayé des choses du genre:

    $("ul", $(this))

    ou

    $(this).children() ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 95
    Par défaut
    Citation Envoyé par marcha Voir le message
    Salut,

    as-tu essayé des choses du genre:

    $("ul", $(this))

    ou

    $(this).children() ?
    non. Effectivement ca marche...

    merci! J'étais trop la tête dans le guidon... Par contre ca affiche aussi les autres listes imbriqué.

    Pourtant j'ai bien ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    			body > ul{
    				margin: 5px;
    			}
    			body > ul li{
    				margin: 5px;
    			}
    			body > ul > li > ul {
    				display: none;
    			}
    			body > ul > li > ul > li > ul {
    				display: none;
    			}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    				$(document).ready(function() {
    					$("#mainLevel > li").click(function(){
    						$("ul", $(this)).show();
    					});
    				});
    I:l faudrait que le show() ne s'applique qu'au liste directement concerné. Par les sous liste des listes. Arg c'est embrouillant.

  4. #4
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    Et avec children() ça donne quoi ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 95
    Par défaut
    Citation Envoyé par marcha Voir le message
    Et avec children() ça donne quoi ?
    Merci beaucoup encore une fois. J'ai fait ceci qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready(function() {
    	$("li").click(function(){
    		$(this).parent().children().children().hide();					
    		$(this).children().show();
    	});
    });

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 12/07/2006, 22h04
  2. Réponses: 1
    Dernier message: 12/07/2006, 09h51
  3. obliger sélection dans une liste déroulante
    Par doyle01 dans le forum Access
    Réponses: 4
    Dernier message: 15/05/2006, 15h31
  4. Réponses: 29
    Dernier message: 03/11/2005, 10h37
  5. Garder fixe la sélection d'une liste déroulante
    Par hysteresis dans le forum ASP
    Réponses: 11
    Dernier message: 20/10/2005, 14h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo