我在<g:each>
标签中有这个锚元素,用于在脚本中存储变量
<g:each in="${tableInstanceList.sort{a,b-> a.tableNumber.compareTo(b.tableNumber)}}" var="ti">
<a href="#show_${ti.id}" data-toggle="modal" id="${ti.id}" class="table" >Table ${ti.tableNumber?.encodeAsHTML()}</a>
</g:each>
这是脚本
$(".table").ready(function() {
var tableId= $(this).attr("id");
});
现在我的问题是我如何使用变量tableId
。它代表此代码的id
和update
属性:
<g:remoteLink id="" controller="superAdmin" action="assignServer" update="tableShown_">
<button type="button" class="btn btn-primary btn-sm pull-right" style="margin:15px 10px 0px 0px;">
<span class="glyphicon glyphicon-user"></span> Assign Server
</button>
</g:remoteLink>
答案 0 :(得分:1)
你不能因为<g:remoteLink... />
是在服务器端生成的,而javascript是在客户端的浏览器中执行的。
您必须在tableInstanceList
的相同(或另一个)循环中进行迭代并创建链接,或者您可以通过发送到客户端链接“stub”来构建与javascript的链接:
<a href="${ createLink(controller: 'superAdmin', action: 'assignServer', id: 'PLACEHOLDER') }"
onclick="${ remoteFunction(controller: 'superAdmin', action: 'assignServer', id: 'PLACEHOLDER', update: 'tableShown_PLACEHOLDER') }" >
<!-- ... -->
</a>
现在通过属性上的简单javascript replace
将每个占位符更改为您的ID。
您可以将其移动到TagLib。
通常你应该能够在serwer端生成具有正确id的所有链接,但我不知道你的gsp代码结构&amp;过程