Fala galera eu to desenvolvendo um programa porem o ajax não funciona de jeito nenhum, resolvi fazer um sistema bem simples para ver aonde ta o erro e mesmo assim o consigo uma solução. Vi alguns erros desse no fórum porem não conseguir também.
HTML
> <h:form id=“frmTeste”>
<p:panel header=“Cadastro” style=“margin-bottom:10px;”>
<h:panelGrid columns=“2” cellpadding=“5”><h:outputText value="Pais: " /> <p:selectOneMenu id="comboPais" process="@this" converter="conversorObjetoId" value="#{comboMB.pais}"> <f:selectItem itemLabel="--Selecione--" itemValue="" /> <f:selectItems value="#{comboMB.paises}" var="pais" itemLabel="#{pais.nome}" itemValue="#{pais}" /> <p:ajax event="change" update="comboEstados" actionListener="#{comboMB.buscar()}" /> </p:selectOneMenu> <h:outputText value="Estados: " /> <p:selectOneMenu id="comboEstados" value="#{vendasMB.estado}"> <f:selectItem itemLabel="--Selecione--" itemValue="" /> <f:selectItems value="#{vendasMB.estados}" var="estado" itemLabel="#{estado.nome}" itemValue="#{estado}" /> </p:selectOneMenu> </h:panelGrid> </p:panel>
</h:form>
O index eu mudei varias coisas ja deixei onChange, ja tirei update, listener varias tentativas
MB
@ViewScoped
@ManagedBean
public class ComboMB implements BaseEntityObject, Serializable {
private static final long serialVersionUID = 1L;
private Pais pais;
private Estado estado;
private List paises = new ArrayList();;
private List estados = new ArrayList();
private daoTeste dao = new daoTeste();
@PostConstruct
public void init() {
paises = dao.consultarPais();
System.out.println("–> init*()");
}
public void buscar(ActionEvent event) {
estados = dao.consultarEstados(pais);
}
ATUALIZADO:
<h:form id="frmTeste">
<p:outputPanel id="cadastroCidades">
<h:panelGrid id="painel" columns="2">
<p:outputLabel for="comboPaises" value="Pais: " />
<p:selectOneMenu id="comboPaises" converter="conversorObjetoId" value="#{comboMB.pais}">
<f:selectItem itemLabel="--Selecione--" itemValue="" />
<f:selectItems value="#{comboMB.paises}" var="pais" itemLabel="#{pais.nome}" itemValue="#{pais}" />
<p:ajax listener="#{comboMB.buscar}" update="comboEstados" />
</p:selectOneMenu>
<p:outputLabel for="comboEstados" value="Estados: " />
<p:selectOneMenu id="comboEstados" converter="conversorObjetoId" value="#{vendasMB.estado}">
<f:selectItem itemLabel="--Selecione--" itemValue="" />
<f:selectItems value="#{vendasMB.estados}" var="estado" itemLabel="#{estado.nome}" itemValue="#{estado}" />
</p:selectOneMenu>
</h:panelGrid>
</p:outputPanel>
</h:form>