【问题标题】:Place holder for <h:selectMenu> with <f:selectItems><h:selectMenu> 和 <f:selectItems> 的占位符
【发布时间】:2014-06-06 07:20:28
【问题描述】:

我只想为 selectMenu 提供一个占位符。我正在使用选择项来获取菜单中的值。

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

                    </h:selectManyMenu>

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

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

【问题讨论】:

  • “没有希望”是什么意思?我在这里的任何地方都没有看到noSelectionOption,那么您到底尝试了什么?
  • 我也试过了,还是不行

标签: html jsf-2 xhtml select-menu


【解决方案1】:

试试这个。

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

【讨论】:

    【解决方案2】:

    您需要生成 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。

    【讨论】:

      猜你喜欢
      • 2012-12-30
      • 1970-01-01
      • 2013-09-28
      • 2013-09-13
      • 2011-11-17
      • 2013-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多