我在 <g:each>
中有这个 anchor 元素我用来在脚本中存储变量的标签
<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>
最佳答案
你不能因为 <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。
通常您应该能够在服务器端生成具有正确 ID 的所有链接,但我不知道您的 gsp 代码结构和流程。
关于javascript - 将存储的 var 传递给 g :remoteLink 的 id 和更新属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21810504/