Jsf 2 如果在Primefaces SelectOne菜单中未选择任何内容,如何禁用提交按钮

Jsf 2 如果在Primefaces SelectOne菜单中未选择任何内容,如何禁用提交按钮,jsf-2,primefaces,Jsf 2,Primefaces,我有一个p:selectOneMenu,它的第一个元素是字符串“请选择”,其他项目是要选择的列表。我是否可以在选择“请选择”时禁用“提交”按钮,并在选择其他元素时启用该按钮?我知道可以使用itemdabled,但这不是我的要求 <p:selectOneMenu value="#{bean.value}" id="selectId" filter="true" required="true" converter="itemConverter" filterMatchMode=

我有一个
p:selectOneMenu
,它的第一个元素是字符串“请选择”,其他项目是要选择的列表。我是否可以在选择“请选择”时禁用“提交”按钮,并在选择其他元素时启用该按钮?我知道可以使用
itemdabled
,但这不是我的要求

<p:selectOneMenu value="#{bean.value}" id="selectId"
    filter="true" required="true" converter="itemConverter"
    filterMatchMode="contains" height="120">
    <f:selectItem itemLabel="Please select"/>
    <f:selectItems value="#{listBean.selectItemList}"></f:selectItems>
</p:selectOneMenu>

基本上,我希望在选择第一项时禁用submit按钮

有人能帮忙吗?

你最好换个新的

<f:selectItem itemLabel="Please select"/>
并添加
你好Rajath,

为什么不能在backingbean中使用SelectItemList,并从backingbean向该列表添加标签和值?这样做的好处是,您可以将“请选择”添加为SelectItemList中的第一个标签,并将值设置为null。因此,要禁用SubmitButton,可以使用布尔标志,该标志可以根据SelectItemList中的值设置为true或false(使用valuechangeListener并在该方法中相应地更新布尔标志)。希望此解决方案能对您有所帮助。

知道此解决方案,但只想知道是否可以禁用该按钮。缺点是,它会使模型中的某些特定视图变得混乱。在视图中有一个默认的“请选择”项可以保持模型没有视图特有的混乱。
<f:selectItem noSelectionOption="true" itemLabel="Please select"></f:selectItem>
<p:commandButton id="myButonId" disabled="#{empty bean.value}"....