Dúvida no componente <a4j:support

4 respostas
W

Estou iniciando com jsf e richfaces, já dei uma olhada na página live.demo do richfaces mas não consegui resolver.
Vamos ao que interessa: O que quero é pegar um item escolhido de um selectOneMenu e jogar em um inputText com recurso ajax

Desde já agradeço pela ajuda

segue meu codigo:

<h:panelGrid columns="1">
							 		<h:outputText value="Categoria:" />
									<h:selectOneMenu  id="categoria" rendered="true" 
									styleClass="textbox" value="#{agendaCirurgicaController.agendaCirurgica.categoria}"
									required="true" requiredMessage="* Campo (Categoria) é obrigatório" 
									style="color:#FF6600">
										<f:selectItem itemValue="" itemLabel="Selecione.." />
										<f:selectItem itemValue="Sus" itemLabel="Sus" />
										<f:selectItem itemValue="Convenio" itemLabel="Convenio" />
										<f:selectItem itemValue="Particular" itemLabel="Particular" />
										<a4j:support event="onchange"
										ajaxSingle="true"
										reRender="convenio"/>										
									</h:selectOneMenu>
							 	</h:panelGrid>							 	
							 	
							 	<h:panelGrid columns="1">
							 		<h:outputText value="Convênio:" />
							 		<h:inputText id="convenio" value="#{agendaCirurgicaController.agendaCirurgica.convenio}" maxlength="40" required="true" requiredMessage="* Campo (Convênio) é obrigatório" style="width: 250px; color:#FF6600"/>
							 	</h:panelGrid>

4 Respostas

finotti

Seu componente inputText está dentro de um panelGrid.
Então informe um id ao panelGrid e aplique o reRender no panelGrid.

R

finotti:
Seu componente inputText está dentro de um panelGrid.
Então informe um id ao panelGrid e aplique o reRender no panelGrid.

Exato.
E complementando,o <a4j:support> ficaria mais ou menos assim:

&lt;a4j:support event="onchange"  
     ajaxSingle="true" 
     actionListener="#{agendaCirurgicaController.setaCampo}" 
     reRender="idDoPanelGridQueTemOConvenio"/&gt;
public void setaCampo(ActionEvent evt){
agendaCirurgicaController.agendaCirurgica.convenio = agendaCirurgicaController.agendaCirurgica.categoria;
}
W

Pessoal valeu pela ajuda, deu certo.

Abusando mais um pouco. como faria um componente ficar visivel ou não pelo controle de um click no selectBooleanCheckbox, usando ajax?

Obrigado

R
&lt;h:selectBooleanCheckbox&gt;
  &lt;a4j:support event="onclick" reRender="painel" actionListener="#{controller.setaVisivel}"&gt;
&lt;/h:selectBooleanCheckbox&gt;

&lt;h:panelGrid id="painel" rendered="#{controller.mostrar}"&gt;
  //seu componente aki
&lt;/h:panelGrid&gt;
public void setaVisivel(){
if(estaMarcado){
 mostrar = true;
   }
}

N testei,mas eh por ai

Criado 22 de outubro de 2010
Ultima resposta 22 de out. de 2010
Respostas 4
Participantes 3