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 :

[PrimeFaces / Ajax] Liste déroulante et inputtext


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Par défaut [PrimeFaces / Ajax] Liste déroulante et inputtext
    Bonjour tout le monde,

    je souhaite mettre à jour un inputext en fonction du choix effectué dans une liste déroulante afin de pouvoir le modifier par la suite.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <h:form id="form">
    	<p:panel header="Modifier">
    		<h:panelGrid columns="2">
    			<p:selectOneMenu value="#{monBean.data.id}">
    				<f:selectItems id="item"
    					value="#{monBean.datas}" var="c"
    					itemLabel="#{c.nom}" itemValue="#{c.id}" />
    					<p:ajax update="in_text" />  
    			</p:selectOneMenu>
    			<p:inputText id="in_text" value="#{monBean.data.nom}" />		
    		 </h:panelGrid>
    	</p:panel>
    </h:form>
    Ma liste déroulante est bien remplie mais mon inputext ne se met pas à jour.

    Qu'ai-je fait d'incorrect ?

    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut
    tu veux q'il soit mise à jour au niveau de la base de données?

  3. #3
    Membre très actif Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Par défaut
    Ajoute ça pour voir
    <p:ajax process="@this"

  4. #4
    Membre averti
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Par défaut
    Citation Envoyé par ahmedpa Voir le message
    tu veux q'il soit mise à jour au niveau de la base de données?
    Non, je veux que le choix fait dans la liste déroulante s'affiche dans le inputext.

    Citation Envoyé par omarcisses Voir le message
    Ajoute ça pour voir
    <p:ajax process="@this"
    J'ai modifié mon code comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <h:form id="form">
    	<p:panel header="Modifier">
    		<h:panelGrid columns="2">
    			<p:selectOneMenu value="#{monBean.data.id}">
    				<f:selectItems id="item"
    					value="#{monBean.datas}" var="c"
    					itemLabel="#{c.nom}" itemValue="#{c.id}" />
    					<p:ajax update="in_text" process="@this" />  
    			</p:selectOneMenu>
    			<p:inputText id="in_text" value="#{monBean.data.nom}" />		
    		 </h:panelGrid>
    	</p:panel>
    </h:form>
    Mais ça ne fonctionne pas

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 162
    Par défaut
    Tu ajoutes une balise <p:ajax> dans ton composant selectOneMenu, mais tu ne précises pas le type d'événement déclencheur.

    Je te conseille de rajouter de le modifier ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <p:ajax event="change" update="in_text" process="@this" />
    Si ça ne marche toujours pas, pourrais-tu nous poster le contenu de ton managedBean ?

  6. #6
    Membre très actif Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Par défaut
    Citation Envoyé par N4rc0 Voir le message
    Tu ajoutes une balise <p:ajax> dans ton composant selectOneMenu, mais tu ne précises pas le type d'événement déclencheur.

    Je te conseille de rajouter de le modifier ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <p:ajax event="change" update="in_text" process="@this" />
    Si ça ne marche toujours pas, pourrais-tu nous poster le contenu de ton managedBean ?
    Merci car je pensais que c’était évident

  7. #7
    Membre averti
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Par défaut
    Citation Envoyé par omarcisses Voir le message
    Merci car je pensais que c’était évident
    je me suis basé sur l'exemple de primefaces et il n'y a pas d'évènement...

    j'ai essayé vos solutions et ça ne marche toujours pas

    Voici mon code :
    xhtml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <h:form id="form">
    	<p:panel header="Modifier">
    		<h:panelGrid columns="2">
    			<p:selectOneMenu value="#{monBean.data}" converter="#{dataConverter}">
    				<f:selectItems id="item"
    					value="#{monBean.datas}" var="c"
    					itemLabel="#{c.nom}" itemValue="#{c}" />
    					<p:ajax event="change" process="@this" update="in_text" />  
    			</p:selectOneMenu>
    			<p:inputText id="in_text" value="#{monBean.data.nom}" />		
    		 </h:panelGrid>
    	</p:panel>
    </h:form>
    managedbean :
    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
     
    public class MonBean {
     
    	@EJB
    	private DataFacadeLocal	dataBean;
    	private Data			data;
    	private List<Data>		datas;
     
     
    	public Data getData() {
    		return data;
    	}
     
    	public void setData(Data data) {
    		this.data = data;
    	}
     
    	public List<Data> getDatas() {
    		datas = dataBean.findAll();
    		return datas;
    	}
     
    	public void setDatas(List<Data> datas) {
    		this.datas = datas;
    	}
    }
    Converter :
    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
     
    public class DataConverter implements Converter{
    	@EJB
        private DataFacadeLocal dataBean;
     
        @Override
        public Object getAsObject(FacesContext context, UIComponent component, String value) {
            return dataBean.rechercherData(Long.valueOf(value));
        }
     
        @Override
        public String getAsString(FacesContext context, UIComponent component, Object value) {
        	return ((Data) value).getId().toString();
        }
    }

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

Discussions similaires

  1. [2.x] Ajax listes déroulantes liées
    Par dubitoph dans le forum Symfony
    Réponses: 33
    Dernier message: 11/02/2014, 10h56
  2. Réponses: 8
    Dernier message: 14/05/2009, 22h54
  3. [AJAX] Listes déroulantes liées
    Par Jiraiya42 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 14/04/2008, 09h58
  4. [AJAX] Liste déroulante et tableau
    Par Ludodor dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/02/2008, 11h52
  5. [AJAX] Liste déroulante qui ne s'actualise pas avec XMLHttpRequest
    Par zoom61 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/11/2006, 09h52

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