各行にチェックボックスがあり、テーブル列にすべてをチェック/チェック解除するための単一のチェックボックスがあるデータテーブルがあります。
<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" があります