2014-04-22 41 views
0

我只想给selectMenu一个占位符。我正在使用选择项来获取菜单中的值。<h:selectMenu>的占位符与<f:selectItems>

<h:selectManyMenu required="true" class="choose-group chosen-select" value="#{sentMessage.selectedUserGroups}" > 
         <f:selectItems value="#{sentMessage.userGroups}" /> 

        </h:selectManyMenu> 

目前显示'选择一些选项',但我需要的是'选择用户组'。

我试过用这个placeholder for <h:selectOneMenu> 但是还是没有希望。

+0

你是什么意思“没有希望”?我在这里的任何地方都看不到'noSelectionOption',所以你究竟试过了什么? – kolossus

+0

我尝试过,仍然不能正常工作 – najeeb

回答

0

试试这个。

<h:selectManyMenu required="true" class="choose-group chosen-select" 
    value="#{sentMessage.selectedUserGroups}"> 
    <f:selectItem itemLabel="Choose User Groups" noSelectionOption="true" itemValue="#{null}" /> 
    <f:selectItems value="#{sentMessage.userGroups}" /> 
</h:selectManyMenu> 
+0

它不工作 – najeeb

0

你需要生成HTML等价的:

<option value selected="selected" disabled="disabled">Choose User Groups</option> 

要做到这一点,你需要指定选项为禁用:

<h:selectManyMenu required="true" value="#{sentMessage.selectedUserGroups}"> 
    <f:selectItem itemLabel="Choose User Groups" noSelectionOption="true" itemDisabled="true" /> 
    <f:selectItems value="#{sentMessage.userGroups}" /> 
</h:selectManyMenu> 

注意 “noSelectionOption” 属性对html输出没有影响,但是当需要值时,防止在后端选择该值,在这种情况下,用户将获得FacesMessage。