【问题标题】:Grouping item in selectOneMenu PrimefacesselectOneMenu Primefaces 中的分组项目
【发布时间】:2013-01-20 02:52:30
【问题描述】:

我决定在 primefaces 的 selectOneMenu 中使用组 selectItems 并遇到问题 我看到了我的问题的决定How to group selectItems in selectOneMenu,但这对我没有帮助

当我使用<p:selectOneMenu> 时,它不正常并生成这样的html

<div id="manageTournament:gender" class="ui-selectonemenu ui-widget ui-state-default ui-corner-all ui-helper-clearfix">
<div class="ui-helper-hidden-accessible"><select id="manageTournament:gender_input"
                                                 name="manageTournament:gender_input">
    <option value="">German Cars</option>
    <option value="">American Cars</option>
</select></div>

但是当我使用&lt;h:selectOneMenu&gt; 时就可以了

<select id="manageTournament:gender" name="manageTournament:gender" size="1">
<optgroup label="German Cars">
    <option value="BMW">BMW</option>
    <option value="Mercedes">Mercedes</option>
    <option value="Volkswagen">Volkswagen</option>
</optgroup>
<optgroup label="American Cars">
    <option value="Chrysler">Chrysler</option>
    <option value="GM">GM</option>
    <option value="Ford">Ford</option>
</optgroup>
</select>

我的 xhtml 页面

<h:form id="manageTournament">
            <f:event type="preRenderView" listener="#{adminTournamentController.setConditions(false, 1)}"/>
            <p:wizard id="wizard" widgetVar="wiz" style="display: inline-block; width:600px;"
                      flowListener="#{adminTournamentController.onFlowProcess}" nextLabel="#{msg.next_button}" backLabel="#{msg.back_button}">

                <p:tab id="competitionId" title="#{msg.add_tournament}">
                    <p:panel header="#{msg.info_about_tournament}">
                        <h:panelGrid columns="3" olumnClasses="label, value" styleClass="grid">
<p:outputLabel value="#{msg.age_category}" for="gender_edit"/>
                            <p:selectOneMenu  id="gender_edit"
                                             value="#{adminTournamentController.genderAgeId}"
                                             rendered="#{not empty adminTournamentController.tournamentBean.teams}"
                                             disabled="true">
                                <f:selectItems value="#{adminTournamentController.genderAgeList}"/>
                            </p:selectOneMenu>

                            <p:selectOneMenu id="gender"
                                             value="#{adminTournamentController.genderAgeId}"
                                             rendered="#{empty adminTournamentController.tournamentBean.teams}">
                                <f:selectItems value="#{adminTournamentController.genderAgeList}"/>
                            </p:selectOneMenu>
                             </p:panel>
                </p:tab>
                <!-- others tabs -->          

            </p:wizard>
</h:form>

需要使用selectOneMenu进行分组,我找到了其他文章OptionGroup-support for SelectOneMenu in Primefaces

但是没有人帮助这个人。能否解决我的问题?

【问题讨论】:

  • 非常有趣。事实上,Primefaces 不会渲染 optgroup 标签,只是渲染 option 标签。 selectoptions 被隐藏,显示选项的列表只是“ul”。您可以发布您的 xhtml 和支持 bean 代码以生成项目代码吗?
  • 在以后的问题中,请始终提及使用的版本。

标签: java jsf jsf-2 primefaces selectonemenu


【解决方案1】:

我可以复制它。

这显然是 PrimeFaces 3.4.2 中的一个错误。它适用于本周刚刚发布的PrimeFaces 3.5

查看源码(bean源码和你找到的the answer一样):

<o:importConstants type="org.primefaces.util.Constants" var="PrimeFaces" />
<p>PrimeFaces version: #{PrimeFaces.VERSION}</p>
<h:form>
    <p:selectOneMenu>
        <f:selectItems value="#{bean.cars}" />
    </p:selectOneMenu>
</h:form>

在发布您找到的答案时它对我有用,这很可能是因为我当时使用的是 3.5 快照。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    • 2011-09-29
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    相关资源
    最近更新 更多