1

我有数据表,每行都有复选框,表列上有一个复选框来选中/取消选中所有。

<h:dataTable id="datatable1">
 <h:column headerClass="center-checkbox"> 
                            <f:facet name="header">
                                <h:selectBooleanCheckbox value="#{bean.tbl.checkAll}" id="checkAllSelector">
                                    <f:ajax render="datatable1 "/>
                                </h:selectBooleanCheckbox>
                            </f:facet>
                            <h:selectBooleanCheckbox  value="#{bean.tbl.checked[r]}">
                                <f:ajax render="checkAllSelector"/>
                            </h:selectBooleanCheckbox>
                        </h:column>
</h:dataTable>

我想在表格行中的每个复选框单击时重新渲染 checkAllSelector 但是

<f:ajax render="checkAllSelector"/>

被翻译成这个(对于每一行)

onclick="mojarra.ab(this,event,'valueChange',0,'datatable1-1-checkAllSelector')"
onclick="mojarra.ab(this,event,'valueChange',0,'datatable1-2-checkAllSelector')"
onclick="mojarra.ab(this,event,'valueChange',0,'datatable1-3-checkAllSelector')"

它应该是

onclick="mojarra.ab(this,event,'valueChange',0,'datatable1-checkAllSelector')"
onclick="mojarra.ab(this,event,'valueChange',0,'datatable1-checkAllSelector')"
onclick="mojarra.ab(this,event,'valueChange',0,'datatable1-checkAllSelector')

如何避免预先添加每个复选框的这个 id 表单标签有 prependId="false"

4

0 回答 0