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 select/deselect all


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut Checkbox select/deselect all
    Bonjour,

    J'ai une liste de checkbox dans un panel. Il y a egalement un check box (le premier) que je souhaite utiliser pour que l'utilisateur puisse selecter ou deselectionner toutes les autres.

    Lorqsque que je clique une premiere fois sur la check box toutes les autre sont selectionner mais si je la déselectionne alors les autres restent selectionner.

    Voici le code dans la jsp (balise contenu dans un formulaire):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:selectBooleanCheckbox id="checkBoxSelectAll" onchange="submit()" 
                                       valueChangeListener="#{Terminals_1.selectAllListener}" value="#{Terminals_1.checkBoxAll}"/>
                                       <h:outputText value="#{bundle.terminals_selectAll}"/>
    Le code java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public void selectAllListener(final ValueChangeEvent event) {
            final boolean value = Boolean.valueOf(event.getNewValue().toString());
            HtmlSelectBooleanCheckbox box;
            for (UIComponent component : getGridTerminalsList().getChildren()) {
                if (component instanceof HtmlSelectBooleanCheckbox
                        && !component.getId().equals("checkBoxSelectAll")) {
                    box = (HtmlSelectBooleanCheckbox) component;
                    box.setValue(value);
                }
            }
        }
    Je voudrais savoir pourquoi la méthode indiqué dans l'attrbitut valuechangelistener n'est excecutée uniquement losrque la checkbox est à vrai.

    Merci de votre aide

  2. #2
    Membre éclairé Avatar de maloups
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    Quand tu es en mode débug, tu ne passes pas du tout dans la méthode "selectAllListener" ??? si c'est le cas, c plutot étrange, le code ta JSP semble correcte.

    Par contre, à la lecture de ton code Java, il y a quand même quelque chose qui m'interpelle

    T'as pas d'erreur de compilation ????
    Sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    final boolean value = Boolean.valueOf(event.getNewValue().toString());
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Boolean.valueOf(event.getNewValue().toString())
    Retourne un objet de type Boolean
    Que tu affectes à une variable de type boolean

    Ca donne quoi si tu corriges comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    12
     
    final boolean value = Boolean.valueOf(event.getNewValue().toString()).booleanValue() ;

  3. #3
    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 : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Citation Envoyé par maloups Voir le message
    Par contre, à la lecture de ton code Java, il y a quand même quelque chose qui m'interpelle

    T'as pas d'erreur de compilation ????
    (...)
    Retourne un objet de type Boolean
    Que tu affectes à une variable de type boolean
    En Java 1.4 (ou avant), je ne dis pas.
    Mais depuis Java 1.5 et l'"autoboxing" (à savoir que les types primitifs sont passés automatiquement en classes Java correspondantes, et vice-et-versa), ce code ne présente aucun problème...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut
    Ca ne corrige pas le problème. Mais ej vais peut etre essayer de voir du cote du forum java script car je trouve ca bizard de devoir passer par un submit pour mettre a jour des cases a cocher alors que c'est une action qui a lieu uniquement chez le client.

  5. #5
    Membre éclairé Avatar de maloups
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    En Java 1.4 (ou avant), je ne dis pas.
    Mais depuis Java 1.5 et l'"autoboxing" (à savoir que les types primitifs sont passés automatiquement en classes Java correspondantes, et vice-et-versa), ce code ne présente aucun problème...
    He he, désolé je suis un old school
    Je bosse principalement avec du java 1.4 (vivement l'abolition de cette contrainte )

    En ce qui concerne la solution javascript, l'inconvenient, c'est que tu vas devoir te baser sur l'id des checkbox pour les cocher (decocher)
    Si t'as liste a un nombre d'element indeterminé, ca va pas etre evident de recuperer la liste de ces ids (mais pas impossible)
    L'avantage du submit, c'est que ca devient très simple de parser toutes tes checkbox....

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut
    Effectivement, j'ai pas encore ruessit a mettre ca en place.

    Si vous avez d'autre idée sur l'erreur qu'il peut y avoir au niveau du bean ou du jsp. Je suis preneuse.

  7. #7
    Membre confirmé Avatar de lkryss
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 92
    Par défaut
    En javascript il est possible de récupérer les éléments par tagname

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName('input')
    après on peut regarder si le type est bien une checkbox et la décocher ou non.
    J'avais fait quelque chose de ce genre (mais dans du php) et encore un peu pareil avec du jsf, mais là j'avais utilisé les ID (peu de checkboxs et pas besoin de tout cocher)

    Si sa peut aider..

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/04/2013, 08h47
  2. Algorithme Selection / Deselection RadioButton dans une listview
    Par x031183 dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 12/04/2012, 23h57
  3. Select All/Deselect Al
    Par hawk16 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/03/2010, 12h25
  4. Liste déroulante avec selections/deselections multiples
    Par Nyark dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 30/11/2007, 15h50
  5. [Onchange] sur checkbox selection ds une liste deroulante
    Par maxxou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/01/2006, 00h17

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