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

JavaScript Discussion :

arborescence checked or not


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 149
    Points : 57
    Points
    57
    Par défaut arborescence checked or not
    Bonjour, voila j'ai un ptit soucis
    tjrs avec mon arborescence !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <ul class="checklist">
    		<li><input id="child[1]" name="subject[]" onclick="uncheckParent(0)" value="1" type="checkbox"><label for="child[1]">TEST</label>
    <ul><li><input id="child[6]" name="subject[]" onclick="uncheckParent(1)" value="6" type="checkbox"><label for="child[6]">tes</label>
    </li></ul></li><li><input id="child[19]" name="subject[]" onclick="uncheckParent(0)" value="19" type="checkbox"><label for="child[19]">alex</label>
    </li><li><input id="child[10]" name="subject[]" onclick="uncheckParent(0)" value="10" type="checkbox"><label for="child[10]">alexandre gasté</label>
    </li><li><input id="child[9]" name="subject[]" onclick="uncheckParent(0)" value="9" type="checkbox"><label for="child[9]">alexandre</label>
    avec cette fonction , ci dessous en javascript ca décoche le parent lorsqu'on click sur un child .. ce que jaimerai c'est l'inverse , que ca décoche tout les childs lorsque je click sur un parent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function uncheckParent(parent_id)
    {
        if(parent_id!=0 && document.getElementById('child['+parent_id+']') && document.getElementById('child['+parent_id+']').checked == true)
            document.getElementById('child['+parent_id+']').checked = false;
    }

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    dans ce cas :

    il te faut donner un id a la liste enfant exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function checkAll(ValeurIdParent){
     
    listeEnfant = document.getElementById(ValeurIdParent).getElementsByTagName('input');
     
    for(i = 0 , l = listeEnfant.length; i < l ; i++){
    listeEnfant[i].checked = "checked";
    }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <ul>
    <li>
    <input type="checkbox" value="1" onclick="checkAll(this.value)" />parent
    <ul id="1">
    <li><input type="checkbox" value="2" />enfant 1</li>
    <li><input type="checkbox" value="3" />enfant 2</li>
    </ul>
     
    </li>
    </ul>
    voila

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 149
    Points : 57
    Points
    57
    Par défaut
    ca fonctionne pas...
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function getCategories( $childs, $newsSubject) {
     
        foreach( $childs as $key => $child) {
            echo '<li><input id="child['.$child['subjectId'].']" name="subject[]" onclick="checkAll(this.value)" onclick="uncheckParent('.$child['parentId'].')" value="'.$child['subjectId'].'" type="CHECKBOX" '.(isset($newsSubject[($child['subjectId'])])?'checked="checked"':'').'><label for="child['.$child['subjectId'].']"><b>'.$child['name'].'<b></label>'."\n";
            if( isset( $child['childs'])) {
                echo '<ul id="1">';
                getCategories( $child['childs'], $newsSubject);
                echo '</ul>';
            }
            echo '</li>';
        }
    }
    JS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function checkAll(parent_id){
     
    listeEnfant = document.getElementById(parent_id).getElementsByTagName('input');
     
    for(i = 0 , l = listeEnfant.length; i < l ; i++){
    listeEnfant[i].checked = "checked";
    }
    }

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    code généré s'il te plait

Discussions similaires

  1. Check constraint : NOT LIKE digits
    Par ospreyyy dans le forum DB2
    Réponses: 3
    Dernier message: 16/09/2011, 13h15
  2. Réponses: 18
    Dernier message: 06/04/2008, 20h57
  3. Réponses: 1
    Dernier message: 25/09/2007, 12h08
  4. could not start kstartupconfig check your installation
    Par doreen07 dans le forum Ubuntu
    Réponses: 0
    Dernier message: 21/09/2007, 14h42
  5. Distinguer les CHECK CONSTRAINTS des NOT NULL
    Par Wurlitzer dans le forum Oracle
    Réponses: 16
    Dernier message: 28/09/2006, 11h50

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