JSF 2 - Componente SelectItem não atualiza no IE [Resolvido]

2 respostas
Eduardo_Bregaida

Boa tarde pessoal, tudo bem?

Estou com um problema muito chato, no IE 8, o render do JSF 2 não rola de modo algum, no Firefox, está tudo blz, mas no IE ele só funciona se eu seleciono o item e clico fora.
Isso utilizando o event “change”, se mudo para “click” ele funciona, mas o componente não pinta a bolinha selecionada.

O código:

<h:panelGroup styleClass="inputCompact" layout="block" >
		<h:selectOneRadio id="radioFormConsulta" value="#{consultaMB.tipoConsulta}">
    			<f:selectItem itemLabel="#{msg['application.cnpj']}" itemValue="cnpj" />
    			<f:selectItem itemLabel="#{msg['application.nomeEmpresa']}" itemValue="nomeEmpresa" />
			<f:ajax event="click" render="tipoConsulta botoes"  immediate="true"/>
		</h:selectOneRadio>
	</h:panelGroup>

O que deveria ser renderizado:

<h:panelGroup id="tipoConsulta">
		<h:panelGroup styleClass="inputCompact" id="consultaCPF" layout="block" rendered="#{consultaMB.tipoConsulta eq 'cnpj'}">
			<h:outputLabel value="#{consultaMB.cnpj}" />
		</h:panelGroup>
		
		<h:panelGroup id="consultaNome" rendered="#{consultaMB.tipoConsulta eq 'nomeEmpresa'}" layout="block">
				<h:panelGroup styleClass="inputCompact" layout="block">
					<h:outputLabel value=" " />
					<h:inputText value="#{consultaMB.nomeEmpresa}" class="inputText" id="nomeEmpresa" style="width: 220px" required="true" />
				</h:panelGroup>
					
				<c:ufMunicipio 
					labelUF="#{msg['application.uf']}"
					valueUF="#{consultaMB.uf}"
					labelCidade="#{msg['application.cidade']}"
					valueCidade="#{consultaMB.cidade}" 
				/>		

		</h:panelGroup>
	</h:panelGroup>

Li esse problema, mas não me ajudou muito: http://www.guj.com.br/java/207961-atualizar-componente-qdo-o-msm-altera-estado-renderedfalse-para-true-no-jsf-20-resolvido

Obrigado

2 Respostas

Eduardo_Bregaida

Tentei colocar com execute mas ainda o problema persiste:

<f:ajax execute="@this" event="change" render="tipoConsulta botoes"  />

=/

Eduardo_Bregaida

Consegui fazendo assim:

<f:ajax render="@form" />

Solução proposta do Petterson

Criado 16 de fevereiro de 2012
Ultima resposta 17 de fev. de 2012
Respostas 2
Participantes 1