如果输入p:日历值,我想禁用其他输入标记
<p:calendar id="someDate" value=.... binding="#{bind}" />
例如禁用p:selectOneMenu但这会永久禁用它。
<p:selectOneMenu id="selectManu" value=... disabled="#{bind!=null}" >
如果p:calendar具有值?
,如何禁用它答案 0 :(得分:2)
让源组件ajax-更新所需事件的目标组件,并让目标组件的disabled
属性检查源组件的value
是否为not empty
。
所以,
<p:calendar ... value="#{bean.date}">
<p:ajax event="valueChange" update="menu" />
<p:ajax event="dateSelect" update="menu" />
</p:calendar>
...
<p:selectOneMenu id="menu" ... disabled="#{not empty bean.date}" />
此构造中不需要binding
。如果确实想要使用它,那么您应该检查组件的value
属性,而不是组件本身(显然从不null
)。
<p:calendar binding="#{calendar}" ...>
<p:ajax event="valueChange" update="menu" />
<p:ajax event="dateSelect" update="menu" />
</p:calendar>
...
<p:selectOneMenu id="menu" ... disabled="#{not empty calendar.value}" />
如果您想了解有关binding
的更多信息,请访问How does the 'binding' attribute work in JSF? When and how should it be used?