Jsf SELECTONE菜单中的HIDENOSELECTION选项未按预期工作

Jsf SELECTONE菜单中的HIDENOSELECTION选项未按预期工作,jsf,primefaces,selectonemenu,Jsf,Primefaces,Selectonemenu,我有下面的SelectOne菜单,在我的组件中,我希望有一个不应该显示的项,例如,如果{Mybean.value}中的值与{Mybean.ListValues}中的值匹配,我不希望组合框中有空选项 <p:selectOneMenu value="#{Mybean.value}" hideNoSelectionOption="true" required="true" requiredMessage="Required data"> <f:se

我有下面的SelectOne菜单,在我的组件中,我希望有一个不应该显示的项,例如,如果{Mybean.value}中的值与{Mybean.ListValues}中的值匹配,我不希望组合框中有空选项

  <p:selectOneMenu value="#{Mybean.value}"  hideNoSelectionOption="true"     
   required="true" requiredMessage="Required data">

      <f:selectItem itemLabel="" itemValue="#{null}" noSelectionOption="true" />
      <f:selectItems value="#{Mybean.ListValues}" var="option"  itemLabel="#{option.optionName}"   
      itemValue="#{option.optionId}"/>
 </p:selectOneMenu>

我搜索了一下,但没有找到任何有用的东西,只有where中的一个链接准确地描述了这个问题


我的primefaces版本是3.5编辑:第9版和以后的版本支持它,请参阅其他答案。

该属性或在中。你从哪里弄来的


实际上,您要查找的是
f:selectItems
组件上的。正是该属性使selectItem无法被选中。历史上

理想情况下,你应该

   <p:selectOneMenu value="#{Mybean.value}" required="true" requiredMessage="Required data">
       <f:selectItem itemLabel="" itemValue="#{null}" noSelectionOption="true" />
       <f:selectItems itemDisabled="#{Mybean.value=='aValue'}" value="#{Mybean.ListValues}" var="option" itemLabel="#{option.optionName}"      itemValue="#{option.optionId}"/>
  </p:selectOneMenu>

编辑:版本9及更高版本支持该功能,请参阅其他答案。

该属性或在中。你从哪里弄来的


实际上,您要查找的是
f:selectItems
组件上的。正是该属性使selectItem无法被选中。历史上

理想情况下,你应该

   <p:selectOneMenu value="#{Mybean.value}" required="true" requiredMessage="Required data">
       <f:selectItem itemLabel="" itemValue="#{null}" noSelectionOption="true" />
       <f:selectItems itemDisabled="#{Mybean.value=='aValue'}" value="#{Mybean.ListValues}" var="option" itemLabel="#{option.optionName}"      itemValue="#{option.optionId}"/>
  </p:selectOneMenu>


因此,基本上基于@kolossus answer,我们可以在primefaces中使用(当您使用
时,基本上基于@kolossus answer,我们可以在primefaces中使用)(当您使用在primefaces 9.0中实现的
hideNoSelectionOption

问题:


PR:

隐藏选项
在PrimeFaces 9.0中实现

问题:


PR:

谢谢你的回答@kolossus,事实上,属性hideNoSelectionOption似乎不在primefaces 3.5中,我是从我之前发布的链接中获得的。你引用的链接是指你试图使用@unpix的
而不是
;它们不一样,也不可互换你是对的@kolossus,谢谢。因为在我的模式中,h是指JSF,p是指PrimeFaces。所以基本上我的问题的答案在这里。我会在问题解决后进行标记。谢谢你的回答@kolossus,事实上属性hideNoSelectionOption似乎不在PrimeFaces 3.5中,我从之前发布的链接中获得了它。你提到的链接指的是你试图使用@unpix的
而不是
;它们不一样,也不可互换。你是对的@kolossus,谢谢。因为在我的模式中,h指的是JSF,p指的是PrimeFaces。所以基本上我的问题的答案在这里。我会在问题解决后进行标记。谢谢为什么不是just将此作为评论或小编辑添加到问题中?我是stackoverflow的新手,没有足够的声誉评论其他帖子。谢谢“-1”无论如何…@Kukeltje这篇帖子根本没有回答这个问题。请再看一次问题的第一段。@BalusC:我尝试了Kukeltje提出的解决方案,但没有效果。当我将itemDisabled属性移动到为什么不只是将其作为注释或小编辑添加到问题中时,它就起作用了。我对stackoverflow是新手,没有e在其他帖子上发表评论没有什么声誉。无论如何感谢“-1”…@Kukeltje这篇帖子根本没有回答这个问题。请再次阅读问题的第一段。@BalusC:我尝试了Kukeltje提出的解决方案,但没有效果。当我将itemDisabled属性移动到
hideNoSelectionOption="true"
noSelectionOption="true"