JSF - Método do faces não é executado quando mudo o value do selectOneMenu

2 respostas
antoniopopete

Criei um combo selectOneMenu e coloquei lá um valueChangeListener e quando mudo o select o método não é executado.
Vou postar aqui os códigos.

<managed-bean>
		<managed-bean-name>buscaAvancadaImoveisFaces</managed-bean-name>
		<managed-bean-class>
			br.com.atarde.exibicao.web.faces.BuscaAvancadaImoveisFaces
		</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
public void carregaTipoImovel(ValueChangeEvent vce) {

		if (!vce.toString().equals("")) {
			this.getImovelModel().setSecao((Integer) vce.getNewValue());
			if (this.isSelecionadoImovelVendaAluguelTemporada()) {

				this.imovelVendaAluguelTemporada = true;
				this.tiposImoveis = this.obterSelectItemTiposImoveis();
				this.categorias = this.obterSelectItemCategorias();
			}
		}
	}
t:outputLabel for="secao"
				value="Seção:" /> <t:selectOneMenu id="secao" forceId="true"
				value="#{buscaAvancadaImoveisFaces.imovelModel.secao}" onchange="submeterForm();"
				valueChangeListener="#{buscaAvancadaImoveisFaces.carregaTipoImovel}">
				<f:selectItem itemLabel="Selecione" itemValue="" />
				<f:selectItems value="#{buscaAvancadaImoveisFaces.secoes}" />
			</t:selectOneMenu>
Criei essa função para ver se o valor estava mudando (está).
<script>
		function submeterForm(){
		
			var secaoSelecionada = document.getElementById('secao').value;
			alert(secaoSelecionada);
			document.getElementById('valorSecao').value = secaoSelecionada;
			alert(document.getElementById('valorSecao').value);
			document.forms[0].submit();
			
		}
	
	</script>

As versões da lib que estou utilizando no projeto:
myFaces 1.1.5
tomahawk 1.1.7
sandbox 1.1.7

Já limpei cache do servidor, browser, já apaguei projetogerado e fiz build novamente, já usei clean do Eclipse.
Enfim, eu não sei comoresover esse problema.

2 Respostas

Javabuntu

cara no meu eu utilizo o ajax4JSF que faz isso facinho e inclusivo sem refresh, eu coloco uma tag support dentro do selecOneMenu

<h:selectOneMenu id="projecPerfils" style="margin-left:70%;margin-top:11%;" value="#{menu.perfilSelecionado}"> <f:selectItems value="#{menu.perfis}"/> <a4j:support event="onchange" action="#{menu.mudaMenu}"/> </h:selectOneMenu>

antoniopopete

Mas o projeto todo não utiliza.O que faria para adicionar essa lib?
Acho que não tem condições de mudar no projeto.Mas você sabe como posso configurar essa tag que você falou aicma?
Mesmo assim, continuo com o problema, pois acho que não posso mudar a forma como está feito.

Criado 3 de abril de 2008
Ultima resposta 3 de abr. de 2008
Respostas 2
Participantes 2