【发布时间】:2016-09-19 22:28:39
【问题描述】:
我有带有向导的表单中的 selectOneRadio 组件,并且我有复选框,如果选择第一个单选按钮,则应该启用该复选框。这是我的单选按钮代码:
<p:selectOneRadio id="decision" value="#{bean.decisionApproved}">
<f:selectItem itemLabel="Approved" itemValue="true" />
<f:selectItem itemLabel="Declined" itemValue="false"/>
<p:ajax update="permitPriniting"/>
</p:selectOneRadio>
这是我的复选框代码:
<h:panelGroup id="permitPriniting">
<p:column colspan="2">
<p:selectBooleanCheckbox value="#{bean.printingApproved}"
id="printingApId"
disabled="#{bean.decisionApproved ne true}">
但是,当我选择第一个单选按钮时,该复选框未启用,它显示了两次,就像它再次呈现一样。
【问题讨论】:
-
你确定
bean.decisionApproved的值被正确传输到requestForAuthorizationForAmmunitonPurchaseBean.request.decisionApproved吗?此外,我假设您可以将条件简化为requestForAuthorizationForAmmunitonPurchaseBean.request.decisionApproved,因为它的计算结果为布尔值。 -
是的,我确定。我已经更新了问题
-
bean.decisionApproved的 getter 是否在 AJAX 事件被触发后被调用,它是否包含正确的值?另外,请用简化的条件试试disabled="#{not bean.decisionApproved}
标签: jsf primefaces