richfaces a4j:jsFunction的问题

时间:2011-06-01 12:13:26

标签: ajax jsf richfaces ajax4jsf

<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> 

上面是带有全选选项的复选框列表,如果选中全部选中,则选中所有复选框。在选定值的基础上,我必须填充另一个复选框列表,其逻辑在操作方法中。我面临的问题很少。

  1. 如果删除标签“a4j:jsFunction”的进程属性,则会调用操作方法,但我没有在操作方法中获取更新的复选框列表值。
  2. 如果我使用标签“a4j:jsFunction”的进程属性,则会调用两次动作方法,为什么会这样?
  3. 甚至actionListener都无法解决问题。
  4. 任何建议如何以更好的方式实现这一目标。

    我在jsf 1.2,richfaces 3.3.3,weblogic 10.3.2(Portal)

1 个答案:

答案 0 :(得分:1)

我首先将a4j:jsFunction放在h:selectManyCheckbox之外,它不应该嵌套在里面。