0

我希望在 ag:link gsp 标记的 id 字段中传递一个 javascript 变量,但不知道该怎么做。如果我以错误的方式解决这个问题,请告诉我。

这是我所拥有的:

  • 每行都有我想在 g:link 中传递的 id 的表
  • javascript 表行的 onClick 设置了一个带有行 id 值的 javascript 变量


    <r:script disposition="head">
      var data = -1;
      $(document).ready(function () {
        $('#${tableId} tr').click(function (event) {
          data = $(this).attr('id');
        });
      });
    </r:script>

  • 然后我想将 javascriptdata变量传递给 ag:link

    <li><g:link controller="filterIntraday" action="show" id="??????">View</g:link></li>

我不能让它工作。如何在 gsp 标签中设置 javascript 变量。或者在 g:link 标签中传递客户端变量的另一种方法是什么?

谢谢。

4

2 回答 2

3

您无法在 gsp 标签中设置 id,因为该标签已被处理。您可以做的是更改href生成的 html 的。为此,您需要为<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);
于 2013-04-13T02:21:16.793 回答
3

如何在事件函数中更改“href”属性:

function (event) {
    data = $(this).attr('id');
    $("link-selector").attr("href", "${createLink(controller: 'filterIntraday', action: 'show')}/" + data);
}
于 2013-04-13T00:30:41.200 回答