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 :

hiérarchie checkbox coché/décoché


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 hiérarchie checkbox coché/décoché
    Bonjour, voila mon probleme , j' ai enfaite une function qui me permet de classé les sujet...
    Il y a des sujets qui contienne d'autres sujet ( childs)
    en javascript je n'y connais rien ; et j'aimerai qu'enfaite lorsque tu clicks sur une child alors sa décoche sa categorie parent!
    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 type="CHECKBOX" '.(isset($newsSubject[($child['subjectId'])])?'checked="checked"':'').'>'.$child['name'].'';
            if( isset( $child['childs'])) {
                echo '<ul>';
                getCategories( $child['childs'], $newsSubject);
                echo '</ul>';
            }
            echo '</li>';
        }
    }
    merci

  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
    bien que ton code sois simple a comprendre , il est en php , donne nous le code généré , et on pourra se baser plus simplement sur ton code

  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
    voici le code généré:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <ul class="checklist">
    		<li><input name="subject[]" value="1" checked="checked" type="checkbox">TEST<ul><li><input name="subject[]" value="6" type="checkbox">tes</li></ul></li><li><input name="subject[]" value="19" checked="checked" type="checkbox">alex</li><li><input name="subject[]" value="10" checked="checked" type="checkbox">alexandre</li>
    enfaite je veux que si je coche " tes" alors " TEST" soit décoché !

  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
    hum la tu es dans un cas particulier puisque ton parent n'est identifier différement que par sa valeur donc je te conseille de faire :

    coté javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function uncheckParent(valeurParent){
    //récupération de toutes les checkbox de la page /!\
    //pour récupérer uniqueemnt les parent , englobé les checnbox dans une div identifiée pa run id et rajouté :
    //document.getElementById('iddeladiv').getElementByTagName('checkbox')
    var listeCheck =  document.getElementByTagName('checkbox');
    for(var i = 0 , var l = listeCheck.length; i < l ; i++){
    if(listeCheck[i].value == valeurParent){
    listeCheck[i].checked = "";
    }
    }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="subject[]" value="6" type="checkbox" onclick="uncheckParent('1')">
    le code a été tapé en live donc désolé si il y a qqs erreurs

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Points : 430
    Points
    430
    Par défaut
    Il faut remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var listeCheck =  document.getElementByTagName('checkbox');
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var listeCheck =  document.getElementsByTagName('checkbox');
    Le reste semble bon.

  6. #6
    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
    effectivement ^^

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/04/2010, 14h39
  2. Checkbox coché / décoché
    Par Ikonic dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/06/2007, 13h47
  3. [débutant] obtenir le nombre de checkbox cochées
    Par macke_d dans le forum Composants
    Réponses: 3
    Dernier message: 30/03/2005, 02h17
  4. Réponses: 9
    Dernier message: 12/01/2005, 17h00
  5. [XML][XSL]afficher une checkbox cochée
    Par kirk80 dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/09/2004, 17h49

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