JSF Rich Faces - onchange de ComboBox

3 respostas
M

Boa tarde!

Estou com um problema numa combo box. quero que ao escolher um elemento desta combo box o evento onchange seja disparado e re-renderizar um outro componente.

O estranho é que nem o alert no onchange do rich:combobox nem o reRender do a:support são invocados depois de seleccionar um elemento da combo!
Alguém faz ideia do que estou a fazer mal ou do que não estou a fazer?

Obrigadão

<rich:comboBox value="#{sendDocument.senderName}">
    suggestionValues="#{partnerHandler.localPartnersListIdByLoggedUser}">
    onchange="alert('hello')">
    directInputSuggestions="false" defaultLabel="Seleccione Parceiro Local" width="175">
    <a:support event="onchange" reRender="receiversCombo"/>
</rich:comboBox>

3 Respostas

Z

Olá mpsantos,

Bem cara eu nunk usei o rich:combo quanto tive que fazer algo parecido eu usei o h:selectOneMenu, mas só uma dúvida é a:support? ou é a4j support?

Exemplo do que tinha feito:

<h:selectOneMenu binding="#{bean.atributo}">
<f:selectItem itemLabel="Label1" itemValue="Value1"/>
<a4j:support event="onchange" reRender="componente" action="#{bean.metodo}" />
</h:selectOneMenu>

abss

M

a = a4j, tenho um name space diferente.

o attributo que tens no binding tem que ser de que tipo? Eu tinha String e alterei para SelectItem. Quer para a String quer para o tipo SelectItem a seguinte excepção é levantada:

Caused by: java.lang.IllegalArgumentException: argument type mismatch

fazes ideia do que será?

Z

Olá,

Vc vai precisar de um objeto do tipo HtmlSelectOneMenu, assim:

private HtmlSelectOneMenu atributo= new HtmlSelectOneMenu();

public HtmlSelectOneMenu getAtributo() {
 return atributo;}

public void setAtributo(HtmlSelectOneMenu atributo) {
this.atributo = atributo;
}

//Para pegar o valor que vc passou faz da seguinte forma

System.out.println(atributo.getValue);

abss qqr coisa posta ai =D

Criado 9 de abril de 2010
Ultima resposta 9 de abr. de 2010
Respostas 3
Participantes 2