valeurs dans SelectOneChoice selon SelectOneRadio
Bonjour,
Ce que je veux faire est tres simple. J'ai un JSP dans lequel j'ai un SelectOneRadio, suivi d'un SelectOneChoice. Le SelectOneRadio a par exemple les deux buttons "voiture" et "avion", et le SelectOneChoice : "renaud", "peugeot", "airbus", "boeing". Vous l'aurez compris, je veux que renaud et peugeot n'apparaissent que si "voiture" a ete selectionne au-dessus, et airbus et boeing que si "avion" a ete selectionne.
J'ai essaye quelque chose comme ca:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <af:selectOneRadio label="Vehicule"
value="#{StairliftSurvey.seat}"
immediate="true" id="vehicule"
partialTriggers="marque">
<af:selectItem label="Voiture" value="Voiture" id="Voiture"/>
<af:selectItem label="Avion" value="Avion" id="Avion"/>
</af:selectOneRadio>
<af:selectOneChoice label="Marque"
value="#{StairliftSurvey.seatsize}"
id="marque" partialTriggers="vehicule">
<af:selectItem label="Peugeot" value="a"
rendered="#{vehicule == \"Voiture\"}"/>
<af:selectItem label="Renaud" value="b"
rendered="#{vehicule == \"Voiture\"}"/>
<af:selectItem label="Airbus" value="c"
rendered="#{vehicule == \"Avion\"}"/>
<af:selectItem label="Boeing" value="d"
rendered="#{vehicule == \"Avion\"}"/>
</af:selectOneChoice> |
Mais bon ca ne marche pas. Savez-vous s'il y a moyen de faire ca proprement avec les rendered? Sinon, je sais qu'on peut faire ca en JavaScript (mais je sais pas comment). Donc a defaut, sauriez-vous comment faire en JS?
Merci d'avance
valeurs dans SelectOneChoice selon SelectOneRadio
Mon chef ne voulait pas de Javascript trop long :( donc j'ai trouve autre chose: je mets les radio buttons dans un premier form, avec un auto-submit, et une ligne de javascript dedans pour rafraichir la page. et ensuite je mets le menu deroulant dans un second form:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <af:form>
<af:selectOneRadio label="vehicule"
value="xxx"
autoSubmit="true" immediate="true"
onchange="setTimeout(\"history.go(0)\",100)">
<af:selectItem label="voiture" value="voiture"/>
<af:selectItem label="avion" value="avion"/>
</af:selectOneRadio>
</af:form>
<af:form>
<af:selectOneChoice label="marque"
value="xxx">
<af:selectItem label="..." value="..."
rendered="#{xxx == \'avion\'}"/>
<af:selectItem label="..." value="..."
rendered="#{xxx == \'avion\'}"/>
<af:selectItem label="..." value="..."
rendered="#{xxx == \'voiture\'}"/>
<af:selectItem label="..." value="..."
rendered="#{xxx == \'voiture\'}"/>
</af:selectOneChoice>
</af:form> |
Voila, c'est peut-etre pas tres propre mais ca a l'air de marcher. Merci beaucoup pour ta reponse!