0

我正在创建一个带有可展开/可折叠列表项的分层列表。当用户单击列表项以展开它时,会弹出一个包含一些信息的表格。现在,grails 正在加载页面时呈现所有表。但是,我只希望在单击列表项时加载表格。我正在使用部分模板来容纳表格 html 并使用

<g:render>

渲染它们。有没有办法转换我要发布的代码,以便带有 class="list" 的 div 仅在点击时加载?如果没有,有没有办法只在点击时调用 g:render 标签?

<g:each in="${group2List}" var="item">
            <li class="liClosed"><b>
                    ${item}
            </b> <%= Application.findAllWhere((group2): item, (group1): group).size() %>
                <ul>
                    <div class="list">
                        <table id="portfolio">
                            <g:render template="tableHeader" />
                            <g:render template="applicationRow"
                                collection="${Application.findAllWhere((group2): item, (group1): group)}"
                                var="applicationInstance" />
                        </table>
                    </div>
                </ul></li>
            <br />
</g:each>

那么,有没有办法为 li 添加一个 onClick 事件,仅在单击时呈现该 div class="list" ?或者一种在将这些 g:renders 保留在 ul 中的同时调用这些 g:renders onClick 的方法。

谢谢你的帮助!

4

1 回答 1

0

就像上面评论的@sudhir 一样,您不能将服务器端内容加载到客户端内容中。一旦页面加载,grails 标签就会被渲染。但是您可以使用 ajax 将数据加载到服务器中,并使用其中的新数据呈现部分模板。这正是你所需要的。您可以查看可能适合您需求的此链接。

于 2012-07-19T17:16:17.803 回答