1

我正在使用 JBoss 5.01 和 Richfaces:3.3。当第一个h:selectOneMenu id="codOrgao"更改时,我需要获取第二个h:selectOneMenu id="ano"的年份值,然后加载第三个 h:selectOneMenu id="codMembro"。那是我写的代码,我不知道原因,但是不起作用。

a4j 支持不起作用(在 valueChangeListener="#{populaMembros.pegaListaMembros} 类中,我编写了一个简单的 System.out.println("listener called")" 以查看是否调用了该方法,但不是)。提前感谢您的帮助!!!

<h:form styleClass="labelPorCima">
<h:panelGrid id="mpanel">   

        <div class="content field">
            <label for="codOrgao">Selecione um orgão</label>    
            <h:selectOneMenu id="codOrgao" styleClass="textoLongo" valueChangeListener="#{populaMembros.pegaListaMembros}">                                                                                             
                <f:selectItems  value="#{populaOrgaosBean.listaItensOrgaos}" />
                <a4j:support event="onchange" reRender="codMembro"/>    
            </h:selectOneMenu>
        </div>

        <h:selectOneMenu id="ano" styleClass="inputNome">               
            <f:selectItem itemLabel="2012"/>
            <f:selectItem itemLabel="2011"/>
            <f:selectItem itemLabel="2010"/>
            <f:selectItem itemLabel="2009"/>
            <f:selectItem itemLabel="2008"/>                
        </h:selectOneMenu>

        <div class="content field ">
            <label for="membro" class="membro">Nome do Membro</label>               
            <h:selectOneMenu id="codMembro" styleClass="inputNome" disabled="true">                                              
                <f:selectItem itemLabel="Selecione um membro" />
            </h:selectOneMenu>
        </div>

</h:panelGrid>
</h:form>
4

1 回答 1

0
  1. codOrgao won't fire it's value change listener because it doesn't have a value attribute. The component needs to have a value attribute, bound to a backing bean variable

  2. You should move the actionListener from the <h:selectOneMenu/> to the <a4j:support/>.

So in all, your code should look like:

 <h:selectOneMenu id="codOrgao" value="#{bean.theValue}" styleClass="textoLongo">                                                                                             
     <f:selectItems  value="#{populaOrgaosBean.listaItensOrgaos}" />
     <a4j:support event="onchange" reRender="codMembro" actionListener="#{populaMembros.pegaListaMembros}"/>    
 </h:selectOneMenu>
于 2013-08-15T05:01:18.113 回答