如果在Primefaces SelectOneMenu中未选择任何内容,如何禁用"提交"按钮

Raj*_*ath 2 primefaces jsf-2

p:selectOneMenu的第一个元素是字符串'请选择',其他项目是要选择的列表.我可以在选择"请选择"时禁用提交按钮,如果选择了其他元素,是否启用按钮?我知道itemDisabled可以使用,但这不是我的要求.

<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>
Run Code Online (Sandbox Code Playgroud)

基本上,我希望在选择第一个项目时禁用提交按钮.

有人可以帮忙吗?

Dan*_*iel 5

你最好替换

<f:selectItem itemLabel="Please select"/>
Run Code Online (Sandbox Code Playgroud)

<f:selectItem noSelectionOption="true" itemLabel="Please select"></f:selectItem>
Run Code Online (Sandbox Code Playgroud)

让jsf required为你处理......


如果你真的想要禁用按钮,只需使用 #{bean.value}

像这样

<p:commandButton id="myButonId" disabled="#{empty bean.value}"....
Run Code Online (Sandbox Code Playgroud)

并添加<p:ajax update="myButonId"到您的<p:selectOneMenu