【问题标题】:How to display a second h:selectOneMenu depending on first h:selectOneMenu?如何根据第一个 h:selectOneMenu 显示第二个 h:selectOneMenu?
【发布时间】:2011-08-03 13:32:51
【问题描述】:

我正在使用带有 PrimeFaces 的 JSF 2.0。我使用两个<h:selectOneMenu> 组件来表示两个下拉菜单,并且我有以下功能要求:

  • 如果用户在第一个下拉菜单中选择Availibility HistogrammeAvailibility line 选项,则应显示第二个下拉菜单。

    李>
  • 否则,如果用户在第一个下拉菜单中选择 Availibility Percentage,则应隐藏第二个下拉菜单。

我该怎么做?

这是我目前观点的相关sn-p:

<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>

【问题讨论】:

标签: java jsf jsf-2 primefaces


【解决方案1】:

JSF2 支持 ajax,所以你可以将类似的东西附加到第一个 selectBox

【讨论】:

    【解决方案2】:

    (正如我们在 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>
    

    【讨论】:

      【解决方案3】:

      http://showcase.richfaces.org/richfaces/component-sample.jsf?demo=ajax&sample=selectsUpdates&skin=blueSky 你可以使用 #{not empty bean.availabilityDisplay} 作为渲染属性

      【讨论】:

        猜你喜欢
        • 2012-11-15
        • 1970-01-01
        • 2012-07-15
        • 1970-01-01
        • 1970-01-01
        • 2017-08-06
        • 2015-12-01
        • 2022-08-13
        • 2016-06-12
        相关资源
        最近更新 更多