1

我决定在primefaces的selectOneMenu中使用组selectItems并遇到问题我看到我的问题的决定如何在selectOneMenu中对selectItems进行分组但它对我没有帮助

当我使用<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>

但是我用<h:selectOneMenu>的时候没问题

<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 与分组一起使用,我在 Primefaces 中找到其他文章 OptionGroup-support for SelectOneMenu

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

4

1 回答 1

5

我可以重现它。

在此处输入图像描述

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

在此处输入图像描述

查看源代码(bean源代码与您找到的答案相同):

<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 快照。

于 2013-02-05T10:59:57.103 回答