2013-02-05 63 views
2

我决定使用selectOneMenu用于组selectItems的在primefaces和面临的问题 我看到我的问题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> 

但是当我使用<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用于与分组,我觉得其他物品OptionGroup-support for SelectOneMenu in Primefaces

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

+0

非常有趣。实际上,Primefaces不会呈现'optgroup'标签,只是'option'标签。 ''''选项'被隐藏,一个显示选项的列表只是'ul'。你可以发布你的xhtml和支持豆代码生成项目代码? – partlov

+0

在将来的问题中,请始终提及所使用的版本。 – BalusC

回答

6

我可以重现它。

enter image description here

这显然是在PrimeFaces 3.4.2的错误。它在本周发布的PrimeFaces 3.5中有效。

enter image description here

查看源代码(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快照。