我希望在g:link gsp标记的id字段中传递一个javascript变量,但不知道该怎么做。如果我以错误的方式解决这个问题,请告诉我。
这就是我所拥有的:
<r:script disposition="head">
var data = -1;
$(document).ready(function () {
$('#${tableId} tr').click(function (event) {
data = $(this).attr('id');
});
});
</r:script>
data
变量传递给g:link
<li><g:link controller="filterIntraday" action="show" id="??????">View</g:link></li>
我无法让这个工作。如何在gsp标记中设置javascript变量。或者在g:link标记中传递客户端变量的另一种方法是什么?
感谢。
答案 0 :(得分:3)
如何更改事件函数中的“href”属性:
function (event) {
data = $(this).attr('id');
$("link-selector").attr("href", "${createLink(controller: 'filterIntraday', action: 'show')}/" + data);
}
答案 1 :(得分:3)
您无法在gsp标记中设置ID,因为标记已处理完毕。你可以做的是改变生成的html的href
。为此,您需要为<a>
元素分配一个ID。
<li><g:link controller="filterIntraday" action="show" elementId="linkToFilter">View</g:link></li>
这将创建类似:
<li>a<a href='yourapp/filterIntraday/show' id="linkToFilter" /></li>
然后在你的javascript中你可以改变href:
data = $(this).attr('id');
$link = $('#linkToFilter');
$link.attr('href', $link.attr('href')+'/'+data);