Pregunta

¿Es posible establecer un <a href />alrededor de mi <f:selectItem itemLabel="label" /> donde mi texto de enlace es el itemLabel?

Estoy usando los componentes solares.

¿Fue útil?

Solución

El resultado deseado es no posible en html. Deberá agregar una foto de JavaScript para esto.

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

Dónde bean.getLinks() Devuelve un List<SelectItem> con una URL digna de plena como artículo valor. Si quieres mostrar el enlace como ambas cosas valor y etiqueta, solo use el SelectItem constructor tomando un solo argumento.

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

Si quieres codificarlos en la vista, entonces, por supuesto, puedes agarrar 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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top