【发布时间】:2014-06-12 22:30:28
【问题描述】:
我有一个 JSF:Primefaces SelectCheckBoxMenu
<p:selectCheckboxMenu value="#{domain.listaa}" label="Chooese!" style="height:25px" showCheckbox="true">
<p:ajax update="records" listener="#{domain.muti}" />
<f:selectItems value="#{domain.recLabels}"/>
</p:selectCheckboxMenu>
在托管 bean 中:
private boolean[] recFlags = new boolean[]{true,true,true,true,true,true,true};
private String[] recLabels = new String[]{"A","AAAA","MX","NS","SOA","CNAME","TXT"};
private List<String> listaa = new ArrayList<>();
public void muti(AjaxBehaviorEvent event){
Arrays.fill(recFlags, false);
for(int i=0;i<recLabels.length;i++){
if(listaa.contains(recLabels[i])){
recFlags[i]=true;
}
}
System.out.println(listaa.toString());
}
所以在 SelectCheckBoxMenu 中我按下任意按钮,ajax 调用正在工作,muti() 函数将运行。没有问题。 但是,如果我按下 SelectCheckboxMenu 中的“全选”(最上面的)按钮,则 ajax 调用不起作用,muti() 函数将不会运行,并且 listaa(关于按下的复选框的列表)不会改变。 为什么?我该如何解决,“全选”按钮有效?
【问题讨论】:
标签: ajax jsf primefaces