<h:selectManyCheckbox id="accountGroup" layout="pagedirection"
value="#{xxx.accountGroup}" style="FONT-SIZE: 11px;"
onclick="selectAllAccountGroup(this.value);fireAjax();">
<f:selectItem itemValue="0" itemLabel="Select All" />
<f:selectItems value="#{xxx.userGroup}" />
<a4j:jsFunction name="fireAjax" action="#{xxx.groupChanged}"
ajaxSingle="true" reRender="accountNumbersOp" process="accountGroup">
</a4j:jsFunction>
</h:selectManyCheckbox>
上面是带有全选选项的复选框列表,如果选择全选,则选中所有复选框。根据所选的值,我必须填充另一个复选框列表,其逻辑是实际操作方法。我面临的问题很少。
- 如果我删除标记"a4j:jsFunction"的进程属性,就会调用action方法,但我没有得到action方法中复选框列表的更新值
- 如果我使用标签"a4j:jsFunction"的进程属性,操作方法会被调用两次,为什么
- 即使actionListener也无法解决此问题
有什么建议可以让我以更好的方式完成。
我在jsf 1.2,richfaces 3.3.3,weblogic 10.3.2(门户(
我首先要把a4j:jsFunction放在h:selectManyCheckbox之外,它不应该嵌套在里面。