[Resolvido] f:ajax render não funciona pro campo

Minha tela:

[code]<?xml version="1.0" encoding="iso-8859-1" ?>

<ui:composition template="/_template.xhtml">
<ui:define name=“corpo”>



<h:form id=“form”>

<c:forEach items="#{mBean.lista}" var=“objeto” >






</c:forEach>

<h:selectBooleanCheckbox value="#{objeto.marcado}">
<f:ajax render=":form:valor#{objeto.id} :form:lbValor#{objeto.id}" />
</h:selectBooleanCheckbox>

<h:outputLabel value="#{objeto.desc}" />

<h:outputLabel id=“lbValor#{objeto.id}” value=“Valor:” rendered="#{objeto.marcado}" />

<p:inputText id=“valor#{objeto.id}” rendered="#{objeto.marcado}" value="#{objeto.valor}" />

</h:form>


</ui:define>
</ui:composition> [/code]

Estou tentando fazer aparecer o input “valor” usando ajax no checkbox. Assim que ele for selecionado, o campo deverá aparecer, mas não estou com muita sorte.

Os valores passados à view são confiáveis, a única falha que enxergo é a falta de update do campo.

Idéias?

EDIT: Código atualizado.

<f:ajax render=“form:valor#{objeto.id}” />
Hein?! O.o

bem, não entendi oq seria o form:valor#{objeto.id} estando esse comando certo, tente com p:ajax

Ao inves de render=“form:valor#{objeto.id}” de um id para o campo em questao e passa o id do campo no rendered

Olá bruno_7317,

Não testei para ver se é o caso, mas quando uso o primefaces é bom dar preferencia para os componentes só dele, ou seja, tanto o ajax como o booleancheckbox use o p:
Certa vez não funcionava um f:ajax meu e quando troquei funcionou.

[quote=jakefrog] <f:ajax render=“form:valor#{objeto.id}” />
Hein?! O.o
[/quote]
Essa linha diz que é para renderizar o componente com o id igual a “valor + o id do objeto vindo do mBean”, ou seja, o input mais abaixo:

<p:inputText id="valor#{objeto.id}" rendered="#{objeto.marcado}" value="#{objeto.valor}" />

Por exemplo:
Suponha que você tem um objeto com id = 2, desc = “objeto2”, o id do input será “valor2”.

Ah, sim, trocar por <p:ajax /> não adiantou.

Não sei se ficou claro, mas o input em questão faz parte de uma lista, daí o porquê dele receber um id dinâmico.
Setar o um id estático para o campo fará com que todos os inputs da lista tenham o mesmo id.

[quote=gustavo_l_walker]Olá bruno_7317,

Não testei para ver se é o caso, mas quando uso o primefaces é bom dar preferencia para os componentes só dele, ou seja, tanto o ajax como o booleancheckbox use o p:
Certa vez não funcionava um f:ajax meu e quando troquei funcionou.[/quote]

Ainda nada.

Informações adicionais:
Se eu uso <f:ajax render="@form" /> o campo aparece, mas todos os outros valores que digitei são apagados.

Obs.: Alterei o código para ficar igual ao que eu estou usando atualmente. Em suma, transformei o <p:panelGrid> numa

.

EDIT:
jakefrog, mesmo não tendo me dado a resposta diretamente, foi através do seu blog que consegui descobrir a causa do meu problema:
“[…] toda vez que um objeto não é exibido e você deseja exibi-lo é necessário atualizar todo seu container.” - http://uaihebert.com/?p=669

–Post Duplo–