我的grails gsp文件中有以下行。
<div class="pagination">
<g:paginate total="${lotCount ?: 0}" />
</div>
我想将 lotCount 值传递给我的一个名为area-switcher.js的javascript文件,以便进一步使用它。我怎么能这样做?
我试图引用How to pass a value directly from a controller to a javascript file in Grails中的一条建议 我在下面的gsp中的位置
<g:javascript> var theId = ${lotCount} </g:javascript>
并在我的js文件中尝试以下测试
alert(theId);
但它不起作用。 得到了像ReferenceError这样的错误:未定义theId。 请帮忙。
答案 0 :(得分:0)
使用hiddenField:
<g:hiddenField name="lotCount" value="${lotCount}" />
<div class="pagination">
<g:paginate total="${lotCount ?: 0}" />
</div>
答案 1 :(得分:0)
您的解决方案应该有效。
确保在生成的html页面行的源代码
<g:javascript> var theId = ${lotCount} </g:javascript>
位于之前的行,其中包括area-switcher.js
<script type="text/javascript" src="area-switcher.js">
除此之外,还有两个选项可以将.gsp中的某些值传递给javascript文件(示例使用jQuery):
gsp(这里可以使用div,span,input,其他标签):
<div id="countElem" data-count="${count}">
js(这里使用jQuery):
var count = $("#countElem").data('count');
GSP:
<g:hiddenField name="countElem" data-count="${count}"/>
js(这里使用jQuery):
// hidden field will have name and id equals to countElem
var count = $("#countElem").val();