Primefaces rendered dinâmico com ajax

Boa tarde a todos! Estou com problemas ao utilizar um checkbox onde quando estiver false não renderizar mais quando ele estiver marcado,
um ajax no change atualiza o componente

Minha view

                        [code]
                        <h:outputLabel rendered="#{!reservaHorarioController.hiddenRepetir}" value="Atualizar todos horarios da mesma solicitação:" />
                        <h:selectBooleanCheckbox rendered="#{!reservaHorarioController.hiddenRepetir}" id="updateAll" value="#{reservaHorarioController.updateAll}" />
                        <br />
                        <h:outputLabel rendered="#{reservaHorarioController.hiddenRepetir}" for="repetir" value="Repetir:" />
                        <p:selectBooleanCheckbox rendered="#{reservaHorarioController.hiddenRepetir}" id="repetir" value="#{reservaHorarioController.repetir}" >
                            <p:ajax event="change"  update="pgPanel" listener="#{reservaHorarioController.showRepetir}"/>
                        </p:selectBooleanCheckbox>
                        <p:panelGrid id="pgPanel" rendered="#{reservaHorarioController.hiddenRepetir}">
                            <h:outputLabel rendered="#{!reservaHorarioController.hiddenRepetir}" value="Quantidade de dias?" />
                            <p:spinner rendered="#{!reservaHorarioController.hiddenRepetir}" min="#{reservaHorarioController.timeMin}" max="#{reservaHorarioController.timeMax}" id="spinnerBasic" value="#{reservaHorarioController.qtdDias}"/> 
                            
                        </p:panelGrid>[/code]
    public Boolean getUpdateAll() {
        if (updateAll == null) {
            updateAll = Boolean.FALSE;
        }
        return updateAll;
    }

    public void setUpdateAll(Boolean updateAll) {
        this.updateAll = updateAll;
    }

    public void showRepetir(){
        setHiddenRepetir(repetir);
    }
    
    public Boolean getHiddenRepetir() {
        if (hiddenRepetir == null) {
            hiddenRepetir = Boolean.FALSE;
        }
        return hiddenRepetir;
    }

Em um dado momento o componente pgPanel pode não está renderizado, então o ideal é q você crie um panel (panelGroup é muito bom nesses casos) acima dele, e dê update nele.
Exemplo:

<h:outputLabel rendered="#{!reservaHorarioController.hiddenRepetir}" value="Atualizar todos horarios da mesma solicitação:" />  
<h:selectBooleanCheckbox rendered="#{!reservaHorarioController.hiddenRepetir}" id="updateAll" value="#{reservaHorarioController.updateAll}" />  
<br />  
<h:outputLabel rendered="#{reservaHorarioController.hiddenRepetir}" for="repetir" value="Repetir:" />  

<p:selectBooleanCheckbox rendered="#{reservaHorarioController.hiddenRepetir}" id="repetir" value="#{reservaHorarioController.repetir}" >  
    <p:ajax event="change"  update="pgPanel" listener="#{reservaHorarioController.showRepetir}"/>  
</p:selectBooleanCheckbox>  

<h:panelGroup id="pgPanel" >
   <p:panelGrid rendered="#{reservaHorarioController.hiddenRepetir}">  
      <h:outputLabel rendered="#{!reservaHorarioController.hiddenRepetir}" value="Quantidade de dias?" />  
      <p:spinner rendered="#{!reservaHorarioController.hiddenRepetir}" min="#{reservaHorarioController.timeMin}" max="#{reservaHorarioController.timeMax}" id="spinnerBasic" value="#{reservaHorarioController.qtdDias}"/>   
   </p:panelGrid> 
<h:panelGroup>

[quote=ayslanms]Em um dado momento o componente pgPanel pode não está renderizado, então o ideal é q você crie um panel (panelGroup é muito bom nesses casos) acima dele, e dê update nele.
Exemplo:

[code]
<h:outputLabel rendered="#{!reservaHorarioController.hiddenRepetir}" value=“Atualizar todos horarios da mesma solicitação:” />
<h:selectBooleanCheckbox rendered="#{!reservaHorarioController.hiddenRepetir}" id=“updateAll” value="#{reservaHorarioController.updateAll}" />


<h:outputLabel rendered="#{reservaHorarioController.hiddenRepetir}" for=“repetir” value=“Repetir:” />

<p:selectBooleanCheckbox rendered="#{reservaHorarioController.hiddenRepetir}" id=“repetir” value="#{reservaHorarioController.repetir}" >
<p:ajax event=“change” update=“pgPanel” listener="#{reservaHorarioController.showRepetir}"/>
</p:selectBooleanCheckbox>

<h:panelGroup id=“pgPanel” >
<p:panelGrid rendered="#{reservaHorarioController.hiddenRepetir}">
<h:outputLabel rendered="#{!reservaHorarioController.hiddenRepetir}" value=“Quantidade de dias?” />
<p:spinner rendered="#{!reservaHorarioController.hiddenRepetir}" min="#{reservaHorarioController.timeMin}" max="#{reservaHorarioController.timeMax}" id=“spinnerBasic” value="#{reservaHorarioController.qtdDias}"/>
</p:panelGrid>
<h:panelGroup>
[/code][/quote]

Fiz conforme o seu conselho mais ainda não deu certo :frowning:
Pode ocorrer alguma coisa por isso está dentro de um popup???

Tenta remove o rendered do checkbox.

qual o escopo do seu bean ?? se estiver em request ou mesmo sem tenta usar com o viewScoped

Ele está como Session.

Removi só pela dica, mas não é isso não

cadê teu botão de ação? O botão tem que fazer uso da propriedade “update” sobre o objeto que se deseja sofrer a atualização. Ex: <p:commandButton … update=“idPainel” … />

Caso não queira que isso seja feito via ajax, use o h:commandButton.

[quote=peerless]cadê teu botão de ação? O botão tem que fazer uso da propriedade “update” sobre o objeto que se deseja sofrer a atualização. Ex: <p:commandButton … update=“idPainel” … />

Caso não queira que isso seja feito via ajax, use o h:commandButton. [/quote]

Boa tarde! Acho que não entendeu meu problema, mas vou explica-lo novamente:
Tenho um

<p:selectBooleanCheckbox rendered="#{reservaHorarioController.hiddenRepetir}" id="repetir" value="#{reservaHorarioController.repetir}" > <p:ajax event="change" update="pgPanel" listener="#{reservaHorarioController.showRepetir}"/> </p:selectBooleanCheckbox>
Ao checar (E disparado o ajax pelo evento onchange) o mesmo é para renderizar o seguinte componente :

<h:panelGroup id="pgPanel" > <p:panelGrid rendered="#{reservaHorarioController.hiddenRepetir}"> <h:outputLabel rendered="#{!reservaHorarioController.hiddenRepetir}" value="Quantidade de dias?" /> <p:spinner rendered="#{!reservaHorarioController.hiddenRepetir}" min="#{reservaHorarioController.timeMin}" max="#{reservaHorarioController.timeMax}" id="spinnerBasic" value="#{reservaHorarioController.qtdDias}"/> </p:panelGrid> <h:panelGroup>
Só que ele não renderiza, ja usei o debug e o valor está sendo mudado corretamente ao checar ou não, pelo firebug vejo o ajax executando mais não sei porque no form não acontece simplesmente nada.