Dentro do form tem algum componente com required = true?
Se tiver ele não vai entrar no listener e não vai atualizar, defina no p:ajax o que deve ser processado só o selectOneMenu ou outros componentes.
rodrigoromero.lima
Dentro do form tem algum componente com required = true?
Se tiver e este estiver vazio ele não vai entrar no listener e não vai atualizar, defina no p:ajax o que deve ser processado só o selectOneMenu ou outros componentes.
D
dark_neo
obrigado pela atenção
entao o mentodo esta sendo chamado so nao esta atualizando o componente…
a lista esta vindo preenchida mais nao carrega no select
sabe o que pode ser?
abç!!
D
dark_neo
nao possuo nenhum componete com required
aluisiodsv
Vc está tentando dar um update em um id que não está presente na página. Ex: suburbs está com um atributo rendered="#{vnivel.nivel eq 2}" que está falso e dizendo que não é pra renderizá-lo na página, entretanto vc está pedindo pra que este id seja atualizado.
o problema é que preciso criar o select de acordo com os nivies pq a lista sao diferentes, entao cada select tem uma lista, minha ideia era so renderizar os select de por nivel ele renderiza mais pelo visto com o ajax da pau, vc poderia me dar alguma ideia de como fazer isso??
abç e obrigado!!!
aluisiodsv
Na vdd eu quis dizer outra coisa.
Vc está usando um ui:repeat com a variável vnivel.
Vamos supor que os dados do primeiro objeto sejam:
vnivel.descricao = “Teste”
vnivel.nivel = 1
Ao renderizar os 3 primeiros combos ficaria:
Assim:
container1
Teste
Os itens da combo
container2
Nada pois o vnivel.nivel não é igual a 2
container3
Nada pois o vnivel.nivel não é igual a 3
Ao atualizar os dados da combo do container2 o vnivel.nivel ainda é 1, por isso ele continua sem renderizar.
Deu pra entender?
D
dark_neo
entendi sim, mais eu pensei que quando a pagina fosse carregada todos os campos estariam nela, no caso quando terminase de interar a lista os combos estariam na pagina…
vc teria alguma sugestao pra me dar em como posso resolver isso?
obrigado abç!!
aluisiodsv
Então, é exatamente isso que o rendered faz, caso seja falso não inclui no html.
Poderia explicar a regra de negócio que vc quer?
Talvez possa ter soluções mais fáceis.
D
dark_neo
Eu preciso montar o select dinamicos com lista dinamica…
ex:
um projeto aqui pode ter n nivies
cada nivel representa um select um exemplo
Nivel 1 Pais
dentro do select de primeiro nivel
Brasil
EUA
caso seja selecionado o Brasil preenche o segundo nivel com as Estados do brasil
Nivel 2
rio de janeiro
belo horizonte
Espirito santo
caso o selecionado for EUA preenche o segundo nivel com os Estado dos EUA
California
los angels
Florida
e assim sucessivamente ate o total de niveis do prjeto
o meu problema se resume ao ajax nao renderizar, o que ja sei o pq como vc ja me explicou
bom é isso aluisiodsv se puder me dar uma força em como eu posso resolver este problema.
cara pelo o que entendi o seu problema vc quer selecionar uma origem e dependendo da origem selecionada traz os destinos e selecionando o destino vc traz os planos
cara é bem tranks fazer isso…
vc precisa de tres selectOneMenu no sua pag xhtml cada select tera uma lista uma para origem uma para plano e outra pra custo, eu acredito que sua tabela esta bem relacionada
bom seguindo este raciocinio vc pode fazer um select trazendo os destinos de acordo com a origem selecionada e com o ajax vc atualiza o proximo select
no seu manager bem com o metodo pasado no listener vc recupera o ID do item selecionado e traz a os destinos com o ID de origem
espero ter ajudado
abç!!!
ninvit
Fala, neo!!
Brigadão, cara!
Nessa parte eu cheguei, entendi certinho. Se for com uma lista estática eu consigo fazer sem problemas.
O problema é que eu não estou conseguindo implementar o metodo handleCityChange com minhas listas vindo do BD.
Alguma ideia?
Abraços
aluisiodsv
Teoricamente funciona assim:
Ao cair no listener do primeiro select, significa q vc já selecionou algum item, a partir deste item selecionado vc vai no banco de dados e busca todos os estados relacionados. Com a lista de estados já buscada no banco vc atualiza a variável que contém os itens, no caso a suaController.listaDestino. Isso tudo dentro do listener, após feito isso, ao atualizar o segundo select, esta variável já terá os dados pra preencher.
Assim funcionaria com o último select tbm.
Se sua dúvida for como implementar o código que busca estes dados no banco de dados, vc poderia dar mais informações sobre como está a arquitetura do seu projeto pra saber como te ajudar nisso.
ninvit
Obrigado, Aluisio!
Será que você pode dar uma olhada no tópico onde estou pedindo ajuda, por favor?