The rich:select component is designed to replace standard h:selectOneMenu. It adds various features and options including core Ajax functionality, and skinning. Some of the notable features are:
This example shows a select component that behaves basically the same as the standard:
In the next example you can manually enter values, and any invalid entries are not allowed.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich"> <h:form> <p>This example shows a select component that behaves basically the same as the standard:</p> <rich:panel style="width:220px;"> <f:facet name="header"> <h:outputText value="Simples select"></h:outputText> </f:facet> <rich:select> <f:selectItem itemValue="0" itemLabel="Option 1" /> <f:selectItem itemValue="1" itemLabel="Option 2" /> <f:selectItem itemValue="2" itemLabel="Option 3" /> <f:selectItem itemValue="3" itemLabel="Option 4" /> <f:selectItem itemValue="4" itemLabel="Option 5" /> </rich:select> </rich:panel> <p>In the next example you can manually enter values, and any invalid entries are not allowed.</p> <rich:panel style="width:220px;"> <f:facet name="header"> <h:outputText value="Select with manual input"></h:outputText> </f:facet> <rich:select enableManualInput="true" defaultLabel="start typing for select"> <f:selectItems value="#{inplaceSelectBean.capitalsOptions}" /> </rich:select> </rich:panel> </h:form> </ui:composition>