原谅我可怜的英语;)
我有tabView,带有2个选项卡,可以选择由selectBooleanCheckbox呈现,所以我做了:
<p:selectBooleanCheckbox id="check"
value="#{prestationComponent.prestation.condUnique}">
<p:ajax event="change" update="tabV"/>
</p:selectBooleanCheckbox>
<p:tabView id="tabV" orientation="top">
<p:tab title="#{refMessage_fr.taxe_condunique_title}"
rendered="#{prestationComponent.prestation.condUnique}">
</p:tab>
<p:tab title="#{refMessage_fr.taxe_formullelist_title}"
rendered="#{!prestationComponent.prestation.condUnique}">
</p:tab>
这项工作非常完美
在其中一个拖曳标签中,我有一个列表,所以我想让这个标签激活,如果列表有多个元素,所以我将selectBooleanCheckbox更改为:
<p:selectBooleanCheckbox id="check"
value="#{prestationComponent.prestation.condUnique}"
onchange="if(#{prestationComponent.addPrestationFormulesList.size()>1}) {PF('messageDialogue').show();#{prestationComponent.prestation.setCondUnique(false)};}">
<p:ajax event="change" update="tabV,check"/>
</p:selectBooleanCheckbox>
并且这与带有列表的选项卡一起工作,它的侦察器处于活动状态但是selectBooleanCheckbox保持选中状态
所以当我检查它时,我想selectBooleanCheckbox保持未选中状态(#{prestationComponent.addPrestulesFormulesList.size()&gt; 1})
谢谢。========================================== EDIT ==== ================================
我找到了解决方案,我在托管bean中创建了一个测试条件的函数,如果条件为真,我将复选框的值设置为false,并在复选框的ajax事件的监听器中调用它
<p:selectBooleanCheckbox id="check"
value="#{prestationComponent.prestation.condUnique}"
onchange="if(#{prestationComponent.addPrestationFormulesList.size()>1}) PF('messageDialogue').show();">
<p:ajax listener="#{prestationComponent.checkBoxListner()}" event="change" update="tabV,check"/>
</p:selectBooleanCheckbox>
答案 0 :(得分:0)
我找到了解决方案,我在托管bean中创建了一个测试条件的函数,如果条件为真,我将复选框的值设置为false,并在复选框的ajax事件的监听器中调用它
<p:selectBooleanCheckbox id="check"
value="#{prestationComponent.prestation.condUnique}"
onchange="if(#{prestationComponent.addPrestationFormulesList.size()>1}) PF('messageDialogue').show();">
<p:ajax listener="#{prestationComponent.checkBoxListner()}" event="change" update="tabV,check"/>
</p:selectBooleanCheckbox>