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 :

Faire apparaître des cases à cocher cachées


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 593
    Par défaut Faire apparaître des cases à cocher cachées
    Bonjour,

    J'ai une liste de cases à cocher. A chaque fois que je coche une case, une autre doit apparaître en face. Ce que je n'arrive pas à faire, c'est faire apparaître ces cases...
    Mon code ressemble à ça:
    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
    <h:panelGrid id="blocPersonnes"						
    						<f:facet name="header">
    							<h:outputText value="PERSONNES INTERESSEES" />
    						</f:facet>
    						<h:panelGroup id="groupePersonnesInteressees" layout="block">
    							<fieldset>
    								<legend>Cochez les personnes intéressées</legend>
    								<h:selectManyCheckbox layout="pageDirection">
    									<f:selectItems value="#{gensBean.listePersonnes()}" />
    								</h:selectManyCheckbox>
    							</fieldset>
    						</h:panelGroup>
    						<h:panelGroup id="groupePersonnesConfirmees" layout="block">
    							<fieldset>
    								<legend>Cochez les personnes qui viendront</legend>					
    								<h:selectManyCheckbox layout="pageDirection">
    									<f:selectItems value="#{gensBean.listePersonnes()}" />
    								</h:selectManyCheckbox>
    							</fieldset>
    						</h:panelGroup>
    					</h:panelGrid>
    La seconde partie est censée être cachée et n'apparaît que si la case à cocher qui a précède est cochée. Une idée de comment faire?
    Merci!

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Si je comprends bien, c'est le block "groupePersonnesConfirmees" qui doit être caché si rien n'est coché dans le block "groupePersonnesInteresseesé", c'est ça ?

    Si oui, j'utiliserais un code de ce genre
    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
    <h:panelGroup id="groupePersonnesInteressees" layout="block">
        <fieldset>
            <legend>Cochez les personnes intéressées</legend>
            <h:selectManyCheckbox layout="pageDirection">
                <f:ajax event="change" render="groupePersonnesConfirmees"/>
                <f:selectItems value="#{gensBean.listePersonnes()}" />
            </h:selectManyCheckbox>
        </fieldset>
    </h:panelGroup>
    
    <h:panelGroup id="groupePersonnesConfirmees" layout="block">
        <h:panelGroup rendered="#{tonManagedBean.leTestSiUnElementEstSélectionné()}">
            <fieldset>
                <legend>Cochez les personnes qui viendront</legend>                    
                <h:selectManyCheckbox layout="pageDirection">
                    <f:selectItems value="#{gensBean.listePersonnes()}" />
                </h:selectManyCheckbox>
            </fieldset>
        </h:panelGroup>
    </h:panelGroup>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Si je comprends bien, c'est le block "groupePersonnesConfirmees" qui doit être caché si rien n'est coché dans le block "groupePersonnesInteresseesé", c'est ça ?

    Si oui, j'utiliserais un code de ce genre
    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
    <h:panelGroup id="groupePersonnesInteressees" layout="block">
        <fieldset>
            <legend>Cochez les personnes intéressées</legend>
            <h:selectManyCheckbox layout="pageDirection">
                <f:ajax event="change" render="groupePersonnesConfirmees"/>
                <f:selectItems value="#{gensBean.listePersonnes()}" />
            </h:selectManyCheckbox>
        </fieldset>
    </h:panelGroup>
    
    <h:panelGroup id="groupePersonnesConfirmees" layout="block">
        <h:panelGroup rendered="#{tonManagedBean.leTestSiUnElementEstSélectionné()}">
            <fieldset>
                <legend>Cochez les personnes qui viendront</legend>                    
                <h:selectManyCheckbox layout="pageDirection">
                    <f:selectItems value="#{gensBean.listePersonnes()}" />
                </h:selectManyCheckbox>
            </fieldset>
        </h:panelGroup>
    </h:panelGroup>
    ça reste à tester
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre éclairé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 593
    Par défaut
    Merci, c'est bien une histoire de render et rendered à ajouter.
    Seulement j'ai un problème avec les id. Car en gros, je dois avoir deux listes de cases à cocher. La deuxième est cachée. Si on clique sur une case de la première liste, une (seulement une, celle qui est en face) case à cocher apparaît de la seconde liste.
    Je ne sais pas comment mettre les id à chaque case.
    J'ai essayé de mettre var = "obj" et de mettre comme id = "obj.value" mais ça ne marche pas. Ça me met une erreur...

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Peux-tu faire uns esquisse de ce que tu veux avoir comme rendu ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éclairé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 593
    Par défaut
    Si je mets ce code:
    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
    <h:form id="formTest">
    				<ui:repeat var="item" value="#{gensBean.listePersonnes()}" varStatus="loop">
    				<h:selectBooleanCheckbox id="#{loop.index}" rendered = "..."/>
    				<br />
    			</ui:repeat>
    			<br />
    			<ui:repeat var="item" value="#{gensBean.listePersonnes()}" varStatus="loop">
    				<h:selectBooleanCheckbox value="#{item.value}" id="_#{loop.index}" >
    					<f:ajax event="click" render="loop.index"/>
    				</h:selectBooleanCheckbox>
    				<h:outputText value="#{item.label}" />
    				<br />
    			</ui:repeat>
    		</h:form>
    Avec ce code, il me dit: Empty id attribute is not allowed
    Pourquoi?

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Tu devrais passer par un objet encapsulant tes 2 valeurs liées et faire une boucle de chargement sur une liste de cet objet pour construire tes checkboxes...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre éclairé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 593
    Par défaut
    Ok, merci, effectivement, ça marche mieux avec un <h:panelGroup>.
    Une esquisse de ce que je veux en PJ.
    Merci!
    Nom : Sans titre.png
Affichages : 208
Taille : 11,8 Ko

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/03/2006, 16h48
  2. Comment ajouter des cases à cocher
    Par @yoyo dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 23/03/2006, 10h16
  3. Problèmes avec des cases à cocher et une liste déroulante
    Par rob2-9 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/01/2006, 10h52
  4. calcul sur des cases à cocher
    Par karidrou dans le forum Access
    Réponses: 3
    Dernier message: 06/12/2005, 11h40
  5. Réponses: 5
    Dernier message: 25/11/2004, 09h11

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