Question

Est-il possible de définir un <a href />around mon <f:selectItem itemLabel="label" /> où mon texte de lien est le itemLabel?

J'utilise les composants du soleil ordinaire.

Était-ce utile?

La solution

Le résultat souhaité est pas possible en HTML. Vous aurez besoin d'ajouter un coup de JavaScript pour cela.

<h:selectOneMenu onchange="window.location=this.options[this.selectedIndex].value">
    <f:selectItems value="#{bean.links}" />
<h:selectOneMenu>

bean.getLinks() retourne un List<SelectItem> avec une URL fullworthy comme élément valeur . Si vous souhaitez afficher le lien comme à la fois valeur et de l'étiquette, il suffit d'utiliser le constructeur de SelectItem prendre un seul argument.

links = new List<SelectItem>();
links.add(new SelectItem("http://google.com"));
links.add(new SelectItem("http://stackoverflow.com"));
// ...

Si vous voulez les coder en dur dans la vue, vous pouvez saisir des cours f:selectItem:

<h:selectOneMenu onchange="window.location=this.options[this.selectedIndex].value">
    <f:selectItem itemValue="http://google.com" />
    <f:selectItem itemValue="http://stackoverflow.com" />
<h:selectOneMenu>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top