Pessoal estou tentando adicionar ajax em um componente <h:selectBooleanCheckbox> utilizando <a4j:support>, eu preciso apresentar certos campos caso o componente check esteja checado.
Estou fazendo da seguinte maneira
<h:selectBooleanCheckbox value="#{usuarioHandler.usuario.ativo}" >
<a4j:support event="onclick" reRender="label" />
</h:selectBooleanCheckbox>
<h:outputLabel value="teste" id="label" rendered="#{usuarioHandler.usuario.ativo}" />
O request é feito mas o componente não está sendo renderizado.
Grato
Opa!
Tranquilo?
Cara, tenta renderizar o componente em que o output está contido, algo do tipo:
reRender=“painel”
<a4j:outputPanel id=“painel”>
<h:output>
</a4j:outputPanel>
Ou um form externo…
testa ae
[]'s
Então já testei isso antes mas também não funciona.
Já tentei colocar esses componentes dentro de um <a4j:form> mas também nada.
Valeu
[ ]'s
ao inves do onclick, tenta com o event=“onchange”. blz!
Eu não tenho certeza se o que você tentou foi o que eu falei, mas vou falar mesmo assim, porque vai que num foi e resolve… (JSF é cheio de problemas assim ^^)
tipo, o alvo do reRender não pode ser o que vai estar com o boolean nele
se você colocar o reRender apontando pro painel externo, e o boolean no output, não funciona?
Agora, se isso não funcionar também, podem ser outra coisa, seu bean está no request? se ele estiver, ele está mantendo o valor do boolean? Se não, um keepalive pode resolver…
Não tenho certeza, mas tinham alguns componentes em que o support do a4j tinham um problema, mas eu acho que já foi resolvido, mas você pode dar uma olhada no forum da JIRA pra confirmar…
tipo, o alvo do reRender não pode ser o que vai estar com o boolean nele
se você colocar o reRender apontando pro painel externo, e o boolean no output, não funciona?
Era isso mesmo gui.orioli, muito obrigado
[ ]'s
Opa, blz?
Então, resolveu o problema?
Se sim, coloca [Resolvido] no titulo do ticket e post um trecho de código com a solucão…
Se não, a gente pode continuar tentando ajudar…
[]'s
Para aqueles que possam enfrentar o mesmo problema vou postar um trecho do código com a solução, como sugeriu nosso amigo gui.orioli
<h:panelGrid id="panelEstornoProducao" columns="8">
<h:selectBooleanCheckbox value="#{usuarioHandler.funcionario.permite_estornar_producao}">
<a4j:support ajaxSingle="true" event="onchange" reRender="panelEstornoProducao"/>
</h:selectBooleanCheckbox>
<h:outputText value="Permite Estornar Etiquetas Producao" />
<rich:spacer width="50px" />
<h:panelGroup rendered="#{usuarioHandler.funcionario.permite_estornar_producao}">
<h:outputText value="Leitor" />
<h:selectBooleanCheckbox value="#{usuarioHandler.funcionario.estornar_producao_leitor}"/>
<rich:spacer width="30px" />
<h:outputText value="Manual" />
<h:selectBooleanCheckbox value="#{usuarioHandler.funcionario.estornar_producao_manual}"/>
</h:panelGroup>
</h:panelGrid>
Vale lembrar que para usar o componente <a4j:support> o mesmo precisa estar dentro de um componente <a4j:form>
[ ]'s
Cara,
desculpe reativar o post, mas testaste se isso está funcionando no IE?
Tenho uma situação semelhante em que o codigo roda beleza no Firefox mas no IE, não.
Aqui vai meu código:
<s:decorate template="/layout/edit.xhtml" id="id1" rendered="#{manterLinhaNegocialBaseExternaController.permiteEdicao}">
<ui:define name="label">Linha subordinadora:</ui:define>
<h:selectBooleanCheckbox
value="#{objLinhaNegocialBaseExternaSelecionado.indicadorBooleanoLinhaSubordinadora}"
disabled="#{not manterLinhaNegocialBaseExternaController.permiteEdicao}" tabindex="2" >
<a4j:support event="onchange" reRender="idAreaLinhaSubordinadora" ajaxSingle="true" />
</h:selectBooleanCheckbox>
<h:outputText value="Sim" />
</s:decorate>
<h:panelGroup id="idAreaLinhaSubordinadora" rendered="#{manterLinhaNegocialBaseExternaController.permiteEdicao}">
<s:decorate template="/layout/edit.xhtml" rendered="#{ (not objLinhaNegocialBaseExternaSelecionado.indicadorBooleanoLinhaSubordinadora) }">
<ui:define name="label">Linha subordinadora:</ui:define>
<h:selectOneMenu value="#{objLinhaNegocialBaseExternaSelecionado.objLinhaSubordinadora}" >
<s:selectItems value="#{manterLinhaNegocialBaseExternaController.listaLinhasSubordinadoras}" var="registro"
label="#{registro.codigoLinha}#{' '}#{registro.nome}"
noSelectionLabel="Selecione..."/>
<s:convertEntity />
</h:selectOneMenu>
</s:decorate>
</h:panelGroup>
Abrasssssss
Detalhe: já tentei mudar o event para onclick e nada.
Abrasssss