h:selectOneMenu l'élément par défaut à null, clair vide, la valeur de l'article, champ obligatoire
Bonjour, je vais avoir des ennuis avec le morceau de code suivant:
<h:selectOneMenu id="selectTipoAutorizacion"
value="#{autorizacion.codigoTipoAutorizacion}"
required="true">
<f:selectItems
value="#{cc.attrs.controller.getListaTiposAutorizacion(autorizacion)}"
var="tipoAutorizacion"
itemLabel="#{tipoAutorizacion.nombreTipoAutorizacion}"
itemValue="#{tipoAutorizacion.id.codigoTipoAutorizacion}" />
<a4j:ajax event="change" execute="@this"
listener = #{myListener.listener} render="selectAutorizador" />
</h:selectOneMenu>
Le problème est que la valeur sélectionnée par défaut est toujours le premier de la balise. Et qui dérange les utilisateurs, à cause de certaines données est chargé en fonction de l'élément sélectionné de la valeur..., cependant que l'info il n'est pas chargé jusqu'à ce que le changement événement se produit (a4j:ajax tag), alors l'utilisateur doit sélectionner un autre élément, puis sélectionnez la précédente afin de voir la valeur par défaut de l'élément d'infos.
J'ai abordé le problème en chargeant la valeur par défaut de l'élément d'information relative au début, mais l'utilisateur n'est pas comme cela. Car elle pourrait conduire à la confusion. Donc la question est... comment pourrais-je éviter ce comportement? Ce que je veux, c'est la selectOneMenu à la charge avec une valeur précise( Comme si il n'y avait pas tout f:selectItems). Merci beaucoup.
OriginalL'auteur Pablo | 2012-06-19
Vous devez vous connecter pour publier un commentaire.
Votre champ est requis, il devrait y avoir rien de valable par défaut dans ce cas. Ajouter un vide selectItem en haut de la liste:
selectItems.add(0, new SelectItem("", ""))
; de cette façon:<f:selectItem itemValue="" itemLabel="" />
Par défaut, elle serait alors de sélectionner le vide selectItem.
L'utilisateur sera obligé de faire un choix, alors que le
required="true"
ne permet pas à un vide de sélection.OriginalL'auteur Christophe Roussy
Juste précharger les données souhaitées dans le (post), le constructeur de la fève.
OriginalL'auteur BalusC
Ajouter un f:selectItem avant la f:selectItems, avec une valeur vide, ou quelque chose comme "s'il vous plaît sélectionner ...", et le marquer comme non sélectionnable.
OriginalL'auteur user207421