我尝试重新呈现一个<t:selectManyCheckbox layout="spread">。但是,它不会重新渲染。
Ajax调用:
<h:selectBooleanCheckbox value="#{handler.property}">
<f:ajax listener="#{handler.toggleItems}" render="items" />
</h:selectBooleanCheckbox>The t:selectManyCheckbox
<t:selectManyCheckbox id="items" layout="spread" forceId="true"
forceIdIndex="false" value="#{handler.selectedItems}"
required="true">
....
</t:selectManyCheckbox>调用侦听器并为<t:selectManyCheckbox>设置新值,但它不会重新呈现。
你知道为什么吗?我也尝试过render="myForm:items"和render=":myForm:items"。它的形式是一样的。
发布于 2011-06-02 00:08:41
您还需要重新呈现展开的<t:checkbox>项。我建议重新呈现<t:selectManyCheckbox> 和所有<t:checkbox>项的共同父项。如果不存在,则将它们放入<h:panelGroup>中。
例如。
<h:panelGroup id="allCheckboxes">
<t:selectManyCheckbox id="items" layout="spread" ... />
...
<t:checkbox for="items" index="0" />
...
<t:checkbox for="items" index="1" />
...
</h:panelGroup>使用
<f:ajax render="allCheckboxes" />https://stackoverflow.com/questions/6204207
复制相似问题