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

JSF Java Discussion :

checkbox qui coche tous les checkbox d'une table


Sujet :

JSF Java

  1. #1
    En attente de confirmation mail
    Inscrit en
    Juin 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 76
    Points : 58
    Points
    58
    Par défaut checkbox qui coche tous les checkbox d'une table
    Bonjour,

    voila, j'ai une liste ou chaque ligne a une checkbox, j'aimerai pouvoir, en cliquant sur la checkbox en tête de colonne, sélectionner toute les checkbox de ma liste sans intervenir au niveau des beans, auriez vous une idée ???

    voila mon code si cela peut vous inspirer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <rich:dataTable reRender="sc2" align="center" width="100%" id="carList" rowClasses="tr2" rows="#{navigationBean.rowsShowed}"  value="#{listBean.services}" var="service" >
    			 <rich:column >
    			 <f:facet name="header">
    	 			<h:selectBooleanCheckbox value="#{service.allSelected}">
    	 				<a4j:support event="onkeyup" reRender="check"/>
    				</h:selectBooleanCheckbox>
    	 			</f:facet>
    				<h:selectBooleanCheckbox id="check" value="#{service.selected}">
    					<a4j:support event="onkeyup"/>
    				</h:selectBooleanCheckbox>
    			 </rich:column>
    merci d'avance

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    tu peux le faire en javascript mais le mieux c'est de le faire avec ajax


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a4j:support event="onclick" 
    action="#{bean.selectAllRows}"reRender="table">
    </a4j:support>
    et dans la fonction selectAllRows tu donne aux checkBox les valeurs souhaités..

  3. #3
    En attente de confirmation mail
    Inscrit en
    Juin 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 76
    Points : 58
    Points
    58
    Par défaut
    pourrais tu me guider stp pour le faire en java script

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    pour ça..pose ta question dans le forum javascript

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    J'ai implémenté cela sur mon tableau :

    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
    function selectAllCheckboxes(mainCheckbox) {
        var name = mainCheckbox.name;
        var nameParts = name.split(":");
        var nameBegin = "";
        // We remove the last part of the checkbox name to define nameBegin.
        for (i = 0; i < (nameParts.length - 1); i++) {
            if (i == 0) {
                nameBegin = nameParts[i];
            } else {
                if (isNaN(nameParts[i])) {
                    // If the nameParts[i] is a number, then we do not add it in the nameBegin. This will happen sometimes after an Ajax refresh.
                    nameBegin = nameBegin + ":" + nameParts[i];
                }
            }
        }
        var checkboxes = document.getElementsByTagName("input");
        for (i = 0; i < checkboxes.length; i++) {
            // We search all checkboxes. We checked the ones with name has the same beginning as the main checkbox.
            if (checkboxes[i].name.indexOf(nameBegin) == 0) {
                checkboxes[i].checked = mainCheckbox.checked;
            }
        }
    }
    mainCheckbox, donné en argument est le checkbox principal (celui de l'entête).

    Ce qui fait que tu dois avoir ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <h:column>
        <f:facet name="header">
            <h:selectBooleanCheckbox onclick="selectAllCheckboxes(this);"/>
        </f:facet>
        ...
    </h:column>

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

Discussions similaires

  1. [Oracle] Requête qui sélectionne tous les champs d'une table et un champ d'une autre table
    Par roswina dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 04/06/2015, 13h34
  2. Réponses: 8
    Dernier message: 19/10/2011, 19h03
  3. coché tous les checkbox généré par php
    Par Henry9 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/07/2007, 13h13
  4. Checkbox qui coche toutes les autres!
    Par myomyo dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 30/05/2006, 13h59
  5. Formulaire qui contient tous les champs d'une table
    Par cakeby dans le forum Access
    Réponses: 2
    Dernier message: 09/01/2006, 09h22

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