Ajax渲染重置选中的复选框

时间:2013-09-22 21:33:41

标签: jsf facelets

我有一个带有布尔属性的对象列表。我正在使用复选框列表来为列表中的每个对象选择/取消选择该属性。我的问题是,在重新呈现表单后,已经选中的复选框显示为空。那是为什么?

<h:form>
    <ui:repeat value="#{bean.employeeList}" var="employee">
        <h:selectBooleanCheckbox value="#{employee.selected}">
        <h:outputText value="#{employee.name}" />
        </h:selectBooleanCheckbox>
    </ui:repeat>

    <h:selectBooleanCheckbox value="#{bean.isDone}">
        <f:ajax event="click" render="@form" />
    </h:selectBooleanCheckbox>
</h:form>

1 个答案:

答案 0 :(得分:1)

<f:ajax>默认处理当前组件,如execute="@this"中所示。如果您打算处理整个表单,则需要按@form显式指定整个表单。

<f:ajax execute="@form" render="@form" />

请注意,我删除了event="click"。这就是默认值。