2011-08-03 56 views
0

我正在使用PrimeFaces的JSF 2.0。我使用兩個<h:selectOneMenu>部件來表示兩個下拉列表和我有以下功能要求:如何顯示第二個h:selectOneMenu取決於第一個h:selectOneMenu?

  • 如果用戶選擇的選項有效性的Histogramme有效性的線在第一下拉,然後第二個下拉應出現。

  • 否則,如果用戶在第一個下拉列表中選擇可用性百分比,則應隱藏第二個下拉列表。

我該怎麼做?

這是我的觀點的相關片段至今:

<h:selectOneMenu value="#{bean.availabilityDisplay}" id="Display"> 
    <f:selectItem itemLabel="-- Select Display-- " itemValue="0"/> 
    <f:selectItems value="#{bean.getMyListDisplays()}"/> 
</h:selectOneMenu> 

<h:selectOneMenu value="#{bean.frequency}" id="frequency"> 
    <f:selectItem itemLabel="-- Select Frequency-- " itemValue="0"/> 
    <f:selectItems value="#{bean.getMyListFrequency()}"/> 
</h:selectOneMenu> 
+0

檢查:http://www.ibm.com /developerworks/views/java/libraryview.jsp?search_by=nonbelievers: –

回答

0

JSF2支持AJAX,所以你可以將類似的東西到第一選擇框

< F:AJAX事件= 「valueChange」渲染= 「< ID的第二選擇框>的 」執行=「 @這個」/ >

0

(如我們在PrimeFaces論壇討論)

總結你的第二個項目輸出面板內:

<h:selectOneMenu value="#{bean.availabilityDisplay}" id="Display"> 
    <f:selectItem itemLabel="-- Select Display-- " itemValue="0"/> 
    <f:selectItems value="#{bean.myListDisplays}"/> 
    <f:ajax render="ajaxTarget" /> 
</h:selectOneMenu> 

<p:outputPanel id="ajaxTarget"> 
    <h:selectOneMenu 
      value="#{bean.frequency}" id="frequency" 
      rendered="#{bean.availabilityDisplay == 2 or bean.availabilityDisplay == 4}"> 
     <f:selectItem itemLabel="-- Select Frequency-- " itemValue="0"/> 
     <f:selectItems value="#{bean.myListFrequency}"/> 
    </h:selectOneMenu> 
</p:outputPanel> 
相關問題