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 :

input text depend selectOneMenu


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 12
    Par défaut input text depend selectOneMenu
    Bonjour,

    voilà j'ai un petit soucis.

    je veux lorsque choisir un nom il m'affiche leur matricule dans inputText, le probleme dans la methode onCountryChange comment je peux recupere le matricule qui est dans le list

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
     
    import java.io.Serializable;
    import java.util.*;
    import javax.annotation.PostConstruct;
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.*;
    import javax.faces.model.SelectItem;
     
    @ManagedBean(name = "dropdownView")
    @ViewScoped
    public class UserBean implements Serializable {
     
        private Personne p;
        private int a;
        private List<Personne> l;
        private List<SelectItem> selectItem;
     
        @PostConstruct
        public void init() {
            l = new ArrayList<Personne>();
            l.add(new Personne(123, "a"));
            l.add(new Personne(124, "b"));
            l.add(new Personne(125, "c"));
            l.add(new Personne(126, "d"));
            p = new Personne();
        }
     
        public List<SelectItem> getSelectItem() {
            this.selectItem = new ArrayList<SelectItem>();
            for (Personne c : l) {
                SelectItem s = new SelectItem(c.getMat(), c.getNom());
                this.selectItem.add(s);
            }
            return selectItem;
        }
     
        public void onCountryChange() {
            if (p.getNom() != null && !p.getNom().equals("")) {
     
            } else {
     
            }
        }
     
        public void setSelectItem(List<SelectItem> selectItem) {
            this.selectItem = selectItem;
        }
     
        public List<Personne> getL() {
            return l;
        }
     
        public void setL(List<Personne> l) {
            this.l = l;
        }
     
        public Personne getP() {
            return p;
        }
     
        public void setP(Personne p) {
            this.p = p;
        }
     
        public int getA() {
            return a;
        }
     
        public void setA(int a) {
            this.a = 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:form>
                <p:growl id="msgs" showDetail="true" />
     
                <p:panel style="margin-bottom:10px;">
                    <h:panelGrid columns="2" cellpadding="5">
     
                        <p:outputLabel for="nom" value="Nom: " />
                        <p:selectOneMenu id="nom" value="#{dropdownView.p.nom}" style="width:150px">
                            <p:ajax listener="#{dropdownView.onCountryChange}" update="Mat" /> 
                            <f:selectItem itemLabel="Select Nom" itemValue="" noSelectionOption="true" />
                            <f:selectItems value="#{dropdownView.selectItem}" />
                        </p:selectOneMenu>
     
     
                         <p:outputLabel for="Mat" value="Matricule: " />
                         <p:inputText id="Mat" value="#{dropdownView.a}" disabled="true" style="width:140px"/>
     
                    </h:panelGrid>
                </p:panel>
            </h:form>
    Merci pour votre aide.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 48
    Par défaut
    Salut!

    J'ai l'impression qu'il y a un mélange. S'il y a lieu d'utiliser des objets de type "Personne" on utilise uniquement
    "Personne" au niveau la liste déroulante.

    Je propose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <p:selectOneMenu id="nom" value="#{dropdownView.p}" style="width:150px">
    		<p:ajax listener="#{dropdownView.onCountryChange}" update="Mat" /> 
    		<f:selectItem itemLabel="Select Nom" itemValue="" noSelectionOption="true" />
    		<f:selectItems value="#{dropdownView.l}" />
    </p:selectOneMenu>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public void onCountryChange() {
            if (p!=null && p.getNom() != null && !p.getNom().equals("")) {
    			a = p.getMat();
            } else {
     
            }
        }
    Remarque : fonction <<toString()>> de l'entity Personne doit renvoyer seulement l'attribut "nom" si le souhait est d'afficher seulement le nom dans la liste déroulante.



    Best regards!

Discussions similaires

  1. modifier la couleur d'un texte dans un input text
    Par mic79 dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 05/01/2005, 16h45
  2. input texte
    Par pascal.cargouet dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/12/2004, 11h02
  3. Problème de contrôle de champ input texte
    Par NATHW dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/10/2004, 22h48
  4. Afficher un varchar complet dans un input text
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 25/06/2004, 12h17
  5. [FORMULAIRE] Récupération de input 'text'
    Par danael dans le forum Flash
    Réponses: 5
    Dernier message: 19/07/2003, 11h31

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