Ajax não funciona, selectOneMenu em cascata [Primefaces , JSF]

1 resposta
jsfprimefacesjava
R

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>

1 Resposta

Weverton_Reis

Boa tarde Rodrigo Costa,

Da uma olhada no Converter das entidades Pais e Estado.

Criado 5 de janeiro de 2017
Ultima resposta 5 de jan. de 2017
Respostas 1
Participantes 2