我有一个p:selectBooleanCheckbox
,显示一个确认操作的对话框:
<p:selectBooleanCheckbox id="isModel" value="#{managedBean.isModel}" >
<p:ajax event="change" oncomplete="PF('confirmDialog').show()" />
</p:selectBooleanCheckbox>
更改p:selectBooleanCheckbox
时confirmDialog
显示:
<p:confirmDialog id="confirmDialog" widgetVar="confirmDialog" closable="false" width="50%" >
<p:commandButton value="oui" ..... />
<p:commandButton value = "non" ...../>
</p:confirmDialog>
我只有在检查javascript
时才能使用p:selectBooleanCheckbox
打开此对话框,当我取消选中它时会触发其他操作
答案 0 :(得分:1)
在显示对话框之前,只需检查值:
<p:selectBooleanCheckbox id="isModel" value="#{managedBean.isModel}" >
<p:ajax event="change" process="@this" oncomplete="if(#{not managedBean.isModel}) PF('confirmDialog').show()" />
</p:selectBooleanCheckbox>
其他行动应该是什么?您还可以使用侦听器并使用它打开对话框:
<p:selectBooleanCheckbox id="isModel" value="#{managedBean.isModel}" >
<p:ajax event="change" listener="#{managedBean.isModel}/>
</p:selectBooleanCheckbox>
豆:
public void isModel() {
if(isModel) {
RequestContext context = RequestContext.getCurrentInstance();
context.execute("PF('confirmDialog').show();");
}
else{
// do some other action
}
}