salut à tous,
je rencontre un souci au niveau d'une liste déroulante et de sa value.
j'explique,
il s'agit d'une liste déroulante de département, qui en fonction du pays prend comme valeur "Autres pays" ou "Ain" (premier département).
Donc pour faire ce traitement, j'utilise une fonction javascript qui au changement du pays, met le booléen disabled et modifie la value de la liste des départements.
le problème est que si je change pour un pays étranger, ça fonctionne, la value devient 'autres pays'. Mais lorsque je reviens en france, le select est actif, je choisi un département (ardèche par exemple), mais lorsque je valide le formulaire, la value retourné reste celle pour "autres pays" :
jsp :
javascript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <t:selectOneCountry id="pays" styleClass="paysSelect" immediate="true" onchange="countrySelection();'" value="#{monProfil.helper.pays}"/> <h:selectOneMenu id="dept" value="#{monProfil.helper.newDepartement}" disabled="#{monProfil.helper.disabledInputDept}" forceId="true" styleClass="paysSelect"> <f:selectItems value="#monProfil.helper.itemsDepartement}"/> </h:selectOneMenu>
est ce que vous savez comment je peux "setter" cette valeur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function countrySelection(){ var country = document.getElementById("donnees_profil:pays"); var dept = document.getElementById("donnees_profil:dept"); if(country.value != '<h:outputText value="#{monProfil.helper.paysDefaut}"/>'){ dept.disabled = true; dept.value = <h:outputText value="#{monProfil.helper.departementDefaut}"/>; }else{ dept.disabled = false; dept.value = <h:outputText value="#{monProfil.helper.firstDepartment}"/>; } }
Partager