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 :

Sélection de toutes les cases à cocher d'une page


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 100
    Points : 56
    Points
    56
    Par défaut Sélection de toutes les cases à cocher d'une page
    bonjour
    je créé un tableau avec des checkbox a l'aide d'un for.
    et je voudrais faire un bouton "tout séléctionner" et un autre " tout désélectionner".
    mais je sais pas comment faire ...

    pourriez vous m'aider svp

    merci

  2. #2
    Membre éprouvé Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Points : 1 042
    Points
    1 042
    Par défaut
    bonjour,

    Pas faisable en PHP... Tu trouvera ton bonheur du coté javascript

    ++

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bonjour

    Effectivement en php seul, ce n'est pas possible et il va falloir ajouter un peu de javascript.

    Je te conseille d'aller voir cette source en JS : Sélectionner/désélectionner plusieurs cases à cocher

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    alors voila j'ai trouvé ce code :
    Entre <HEAD> et </HEAD> :
    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
    <script type="text/javascript">
    <!--
    // conteneur = id du bloc (<div>, <p> ...) contenant les checkbox
    // a_faire = '0' pour tout décocher
    // a_faire = '1' pour tout cocher
    // a_faire = '2' pour inverser la sélection
     
    function GereChkbox(conteneur, a_faire) {
    var blnEtat=null;
    var Chckbox = document.getElementById(conteneur).firstChild;
    	while (Chckbox!=null) {
    		if (Chckbox.nodeName=="INPUT")
    			if (Chckbox.getAttribute("type")=="checkbox") {
    				blnEtat = (a_faire=='0') ? false : (a_faire=='1') ? true : (document.getElementById(Chckbox.getAttribute("id")).checked) ? false : true;
    				document.getElementById(Chckbox.getAttribute("id")).checked=blnEtat;
    			}
    		Chckbox = Chckbox.nextSibling;
    	}
    }
    //-->
    </script>
    Entre <BODY> et </BODY> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form>
    <input type="button" value="Tout cocher" onClick="GereChkbox('div_chck','1');">&nbsp;&nbsp;&nbsp;
    <input type="button" value="Tout décocher" onClick="GereChkbox('div_chck','0');">&nbsp;&nbsp;&nbsp;
    <input type="button" value="Inverser la sélection" onClick="GereChkbox('div_chck','2');">
    <br /><br />
    	<div id="div_chck">
    	<input type="checkbox" name="checkbox1" id="checkbox1" value="1"><label for="checkbox1">Choix 1</label><br />
    	<input type="checkbox" name="checkbox2" id="checkbox2" value="2"><label for="checkbox2">Choix 2</label><br />
    	<input type="checkbox" name="checkbox3" id="checkbox3" value="3"><label for="checkbox3">Choix 3</label><br />
    	<input type="checkbox" name="checkbox4" id="checkbox4" value="4"><label for="checkbox4">Choix 4</label><br />
    	<input type="checkbox" name="checkbox5" id="checkbox5" value="5"><label for="checkbox5">Choix 5</label>
    	</div>
    </form>
    et puis j'ai essayer de l'adapter pour moi ...
    mais moi j'ai un tableau, et la j'ai des gros problemes avec le <div>

    voila a peu pres ce que j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div id="div_chck">
        <td>
             <input type="checkbox" name="checkbox1" id="checkbox1" value="1"><label for="checkbox1">Choix 1</label>
        </td>
    </div>
    mais dès que j'ajoute les td, ba ca marche plus ....


    avez vous une idée de prk ?

    merci

    ps : je viens de tester avec tr, et ca marche, JE NI COMPREND RIEN !!!!

  5. #5
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    personne ne voix comment faire co-habiter div et table ??
    ca doit pourtant etre possible !

  6. #6
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    firstChild -> renvoie l'enfant !

    Chckbox.nextSibling ->renvoie lesuivant

    dans ton cas c'est des td!!


    fais une recherche sur
    getElementByTagname
    ...

  7. #7
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    c koi getElementByTagname ?

    comme je l'ai dit ce code n'est pas le mien, j'essaie de l'adapter c tout !
    tu pense que l'erreur viens de la fonction javascript ? (c pas la que je cherchais !)

    est ce que tu pourrais m'e dire plus , je comprend pas trop ...

    merci

  8. #8
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    inputtableau=document.getElementById(conteneur).getElementByTagName("input");
    ceci te renvoie la liste des éléments "input" de ton conteneur.

  9. #9
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    je suis dsl matthieu mais je vois pas ce que tu veux que j'essaie ???
    (je doit etre un peu c.. )

    tu voudrais pas me renvoyer mon code avec t modif ?
    merci

  10. #10
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    alors j'ai trouver une modif du code précédent qui est sencé fonctionner ...
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    Tout d'abord créez votre tableau HTML
     
    <table id_tableau> <tr><td>code</td><td>libelle</td></tr>
    <tr><td><input type="checkbox" ....></td><td>Rouge</td></tr>
    <tr><td><input type="checkbox" ....></td><td>Jaune</td></tr>
    <tr><td><input type="checkbox" ....></td><td>Vert</td></tr>
    </table>
     
     
    Puis ajouter vos boutons pour déclencher le traitement voulu
     
    <input type="button" value="Tout cocher" onClick="GereChkbox('tableau','1');" class="button">
    <input type="button" value="Tout décocher" onClick="GereChkbox('tableau','0');" class="button">
    <input type="button" value="Inverser la sélection" onClick="GereChkbox('tableau','2');" class="button">
     
     
    Enfin faites votre javascript comme ceci
     
    // a_faire = '0' pour tout décocher
    // a_faire = '1' pour tout cocher
    // a_faire = '2' pour inverser la sélection
    function GereChkbox(conteneur, a_faire)
    {
    var blnEtat=null;
    var Chckbox = document.getElementById(conteneur).getElementsByTagName('input');
    for (i in Chckbox)
    {
    if (Chckbox[i].nodeName=="INPUT")
    if (Chckbox[i].getAttribute("type")=="checkbox")
    {
    blnEtat = (a_faire=='0') ? false : (a_faire=='1') ?
    true :
    (document.getElementById(Chckbox[i].getAttribute("id")).checked) ?
    false :
    true;
    document.getElementById(Chckbox[i].getAttribute("id")).checked=blnEtat;
    }
    }
    }
    mais j'arrive pas a le faire tourner ...

  11. #11
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    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
    29
    30
    31
    <script language="JavaScript"> 
     
    function GereChkbox(conteneur, a_faire)
    {
    var blnEtat=null;
    var Chckbox = document.getElementById(conteneur).getElementsByTagName('input');
    for (i in Chckbox)
    {
    if (Chckbox[i].nodeName=="INPUT")
    if (Chckbox[i].getAttribute("type")=="checkbox")
    {
    blnEtat = (a_faire=='0') ? false : (a_faire=='1') ?true :!Chckbox[i].checked;
    Chckbox[i].checked=blnEtat;
    }
    }
    }
     
     
    </script> 
     
     
    <table id="id_tableau"> <tr><td>code</td><td>libelle</td></tr>
    <tr><td><input type="checkbox" ....></td><td>Rouge</td></tr>
    <tr><td><input type="checkbox" ....></td><td>Jaune</td></tr>
    <tr><td><input type="checkbox" ....></td><td>Vert</td></tr>
    </table>
     
     
    <input type="button" value="Tout cocher" onClick="GereChkbox('id_tableau','1');" class="button"> 
    <input type="button" value="Tout décocher" onClick="GereChkbox('id_tableau','0');" class="button"> 
    <input type="button" value="Inverser la sélection" onClick="GereChkbox('id_tableau','2');" class="button">

  12. #12
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 100
    Points : 56
    Points
    56
    Par défaut
    super ca mrche o poil !
    merci matthieu

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

Discussions similaires

  1. Sélectionner toutes les cases à cocher
    Par sam01 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 07/03/2010, 15h04
  2. sélectionner toutes les cases à cocher
    Par lebreton22 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/08/2007, 10h56
  3. Cocher toutes les cases à cocher d'un formulaire
    Par petitloup71 dans le forum Access
    Réponses: 12
    Dernier message: 14/09/2006, 10h37
  4. cocher toutes les cases à cocher
    Par philippe123 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/09/2005, 18h13
  5. Récupérer toutes les cases à cocher
    Par psyco2604 dans le forum ASP
    Réponses: 7
    Dernier message: 14/10/2004, 10h54

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