<a:form> <h:panelGrid columns="2" cellpadding="5"> <h:outputLabel for="menu" value="Basic:" /> <a:selectCheckboxMenu id="menu" value="#{checkboxView.selectedCities}" label="Cities" filter="true" filterMatchMode="startsWith" panelStyle="width:250px"> <f:selectItems value="#{checkboxView.cities}" /> </a:selectCheckboxMenu> <h:outputLabel for="multiple" value="Multiple:" /> <a:selectCheckboxMenu id="multiple" value="#{checkboxView.selectedCities2}" label="Cities" multiple="true" filter="true" filterMatchMode="startsWith" panelStyle="width:250px"> <f:selectItems value="#{checkboxView.cities}" /> </a:selectCheckboxMenu> </h:panelGrid> <a:commandButton value="Submit" update="displayCities" oncomplete="PF('cityDialog').show()" style="margin-top:10px;" /> <a:dialog header="Selected Cities" modal="true" showEffect="fade" hideEffect="fade" widgetVar="cityDialog" width="250"> <a:outputPanel id="displayCities"> <a:dataList value="#{checkboxView.selectedCities}" var="city" emptyMessage="No cities selected" style="margin-bottom: 10px;"> <f:facet name="header"> Basic </f:facet> #{city} </a:dataList> <a:dataList value="#{checkboxView.selectedCities2}" var="city" emptyMessage="No cities selected"> <f:facet name="header"> Multiple </f:facet> #{city} </a:dataList> </a:outputPanel> </a:dialog> </a:form>
package com.jarch.showcase.view.input; import java.util.ArrayList; import java.util.List; import javax.annotation.PostConstruct; import javax.faces.bean.ManagedBean; @ManagedBean public class CheckboxView { private String[] selectedCities; private String[] selectedCities2; private List<String> cities; @PostConstruct public void init() { cities = new ArrayList<String>(); cities.add("Miami"); cities.add("London"); cities.add("Paris"); cities.add("Istanbul"); cities.add("Berlin"); cities.add("Barcelona"); cities.add("Rome"); cities.add("Brasilia"); cities.add("Amsterdam"); } public String[] getSelectedCities() { return selectedCities; } public void setSelectedCities(String[] selectedCities) { this.selectedCities = selectedCities; } public String[] getSelectedCities2() { return selectedCities2; } public void setSelectedCities2(String[] selectedCities2) { this.selectedCities2 = selectedCities2; } public List<String> getCities() { return cities; } }