Olá Galera,
estou com um problema e não encontro a solução =(.
Tenho uma tela de cadastro e os combos deverão ser carregados quando o usuario clicar no combo. Implementei a solução abaixo, mas como renderizo o combo acabo perdendo ação e nao consigo selecionar o valor.
Pagina xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
template="/template/template.xhtml">
<a4j:keepAlive beanName="testeComboBean" />
<ui:param name="backingBean" value="#{testeComboBean}" />
<ui:define name="title">#{msgBundle[titulo.index]}</ui:define>
<ui:define name="body">
<a4j:form id="form1">
<label>Combo JSF</label>
<h:panelGrid id="widget1" columns="1" cellspacing="0">
<h:selectOneMenu value="#{testeComboBean.carro}" id="comboCarro">
<f:selectItem itemValue="" itemLabel="Selecione"></f:selectItem>
<f:selectItems value="#{testeComboBean.listaCarro}"></f:selectItems>
<a4j:support event="onclick"
action="#{testeComboBean.carregaCombo}" reRender="comboCarro" />
</h:selectOneMenu>
</h:panelGrid>
</a4j:form>
</ui:define>
</ui:composition>
Bean
public class TesteComboBean extends AbstractBaseBean {
/**
*
*/
private static final long serialVersionUID = 1L;
private List<SelectItem> listaCarro = new ArrayList<SelectItem>();
private String carro;
public void carregaCombo() {
listaCarro.add(new SelectItem("1", "Corsa"));
listaCarro.add(new SelectItem("2", "Gol"));
listaCarro.add(new SelectItem("3", "Variant"));
listaCarro.add(new SelectItem("4", "Fusca"));
listaCarro.add(new SelectItem("5", "Fiat 147"));
listaCarro.add(new SelectItem("6", "Celta"));
}
public List<SelectItem> getListaCarro() {
return listaCarro;
}
public void setListaCarro(List<SelectItem> listaCarro) {
this.listaCarro = listaCarro;
}
public String getCarro() {
return carro;
}
public void setCarro(String carro) {
this.carro = carro;
}
Galera já agradeço pela atenção =)