首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新呈现<t:selectManyCheckbox layout="spread">?

如何重新呈现<t:selectManyCheckbox layout="spread">?
EN

Stack Overflow用户
提问于 2011-06-02 00:04:11
回答 1查看 2.1K关注 0票数 2

我尝试重新呈现一个<t:selectManyCheckbox layout="spread">。但是,它不会重新渲染。

Ajax调用:

代码语言:javascript
复制
    <h:selectBooleanCheckbox value="#{handler.property}">
        <f:ajax listener="#{handler.toggleItems}" render="items" />
    </h:selectBooleanCheckbox>

The t:selectManyCheckbox

代码语言:javascript
复制
<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"。它的形式是一样的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-02 00:08:41

您还需要重新呈现展开的<t:checkbox>项。我建议重新呈现<t:selectManyCheckbox> 所有<t:checkbox>项的共同父项。如果不存在,则将它们放入<h:panelGroup>中。

例如。

代码语言:javascript
复制
<h:panelGroup id="allCheckboxes">
    <t:selectManyCheckbox id="items" layout="spread" ... />
    ...
    <t:checkbox for="items" index="0" />
    ...
    <t:checkbox for="items" index="1" />
    ...
</h:panelGroup>

使用

代码语言:javascript
复制
<f:ajax render="allCheckboxes" />
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6204207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档