Jsf Primefaces选择CheckboxMenu可在标签关闭时更新标签
我使用的是PrimeFaces5.2。 我在Jsf Primefaces选择CheckboxMenu可在标签关闭时更新标签,jsf,primefaces,Jsf,Primefaces,我使用的是PrimeFaces5.2。 我在中有一个用于选择多个值。SelectCheckBox菜单的标签显示为“选择”。如果选择了某个值,我想将复选框菜单的标签更新为“编辑”,如果未选择任何值,则将其保留为“选择”。我希望只有在SelectCheckBox菜单关闭后才会发生这种情况 我提到了这个问题。但是在从checkboxMenu中选择一些值之后,该菜单会闪烁片刻(ajax调用发生并且标签被更新),然后重新赋值。但是由于眨眼发生在眨眼之间,这种行为很奇怪。例如,如果我在菜单中选择第一个复选框
中有一个
用于选择多个值。SelectCheckBox菜单的标签显示为“选择”。如果选择了某个值,我想将复选框菜单的标签更新为“编辑”,如果未选择任何值,则将其保留为“选择”。我希望只有在SelectCheckBox菜单关闭后才会发生这种情况
我提到了这个问题。但是在从checkboxMenu中选择一些值之后,该菜单会闪烁片刻(ajax调用发生并且标签被更新),然后重新赋值。但是由于眨眼发生在眨眼之间,这种行为很奇怪。例如,如果我在菜单中选择第一个复选框,然后立即选择第二个复选框,它会闪烁,当它再次出现时,只会选中一个复选框。以下是代码片段:
<p:column headerText="Apply To" style="width:120px;text-align:center;">
<p:selectCheckboxMenu id="applyToId" value="#{rule.accountTypes}"
label="#{rule.accountTypeLabel}" widgetVar="accntType">
<f:selectItems value="#{controller.customerAccTypes}" />
<p:ajax oncomplete="PF('accntType').show()"
listener="#{controller.populateLabel(rule,event)}"
update="applyToId"></p:ajax>
</p:selectCheckboxMenu></p:column>
我不确定我是否做错了什么。提前感谢。能否在populateLabel方法中添加调试点并验证是否调用了此方法?能否在populateLabel方法中添加调试点并验证是否调用了此方法?
public void populateLabel(NewRules rule,AjaxBehaviorEvent event) {
if (rule.getAccountTypes().length == 0) {
rule.setAccountTypeLabel("Select One");
} else {
rule.setAccountTypeLabel("Edit");
}}