【发布时间】:2014-04-16 22:33:28
【问题描述】:
我想在渲染模板后通过“onload()”函数调用 JS 函数,或者通过 g:formRemote 标记中的“onSuccess()”回调调用 JS 函数。在我的主要 GSP 中,我有以下内容。此代码对控制器进行回调并设置要传递到模板的模型。
GSP:
<g:formRemote name="ptoReport" url="[controller:'Report', action:'ptoBarChart']" update="barChartDiv">
<g:submitButton name="pto" value="PTO" class="btn btn-primary"/>
</g:formRemote>
<div id="barChartDiv">
<g:render template="barChart"/>
</div>
我的控制器代码如下所示:
Controller:
def ptoBarChart(){
Map usersAndPTO = timesheetService.getPTOForAllUsers()
render(template: 'barChart', model:[points: usersAndPTO])
}
我想在模板加载后立即调用 JS 函数,但诀窍是将“usersAndPTO”映射传递给 JS 函数。我尝试将 "onLoad="barChart(${points})"" 添加到呈现的模板中,但它永远不会被调用。并将“onSuccess="barChart(data)"” 添加到 g:formRemote 会导致我将模板的 GSP 代码传递给 JS 函数。
非常感谢任何帮助。
【问题讨论】:
-
你有没有想过将你需要的js添加到你的barChard.gsp中,它会在实际的dom中执行
-
但我的目标是调用 JS 并传入模型。不确定我是否理解您的评论。
-
我想在渲染完成后调用一个JS函数,使用模型中的数据。
标签: javascript jquery html grails grails-2.3