如何点击表格中的行来调用控制器操作?

时间:2011-05-05 06:43:19

标签: grails

我是grails的新手。我已经用一个小应用程序启动它。我没有得到如何点击行来调用控制器动作。

我尝试了以下但没有成功:

<tr onmouseover="ChangeColor(this, true);" 
     onmouseout="ChangeColor(this, false);" 
     onclick="${remoteFuction(action: 'modify', id: address.id)}"/>

<tr onmouseover="ChangeColor(this, true);" 
     onmouseout="ChangeColor(this, false);"
     onclick="<g:remoteFunction action='modify' id='${address.id}'/>">

</tr>

Grails中是否存在此问题的解决方案?

4 个答案:

答案 0 :(得分:2)

这适用于Grails 2.1:

<tr onclick='document.location = "<g:createLink action='show' id='${clientInstance.id}'/>" '> ... </tr>

答案 1 :(得分:0)

remoteFunction finds its manual page上搜索,它有一套相当不错的例子。

只是不要使用标签,remoteFuction()可以作为GSP字符串中的函数使用。

答案 2 :(得分:0)

你几乎是对的,我认为这应该有效:

<tr onmouseover="ChangeColor(this, true);" 
         onmouseout="ChangeColor(this, false);" 
         onclick="${remoteFuction(action: 'modify', id: address.id)}"/>

更新

上面的建议不起作用(我怀疑它是Grails错误,所以I've created an issue in their bug-tracker)。作为替代方案,您可以使用removeFunction标记

的uglier标记形式
<tr onmouseover="ChangeColor(this, true);" 
         onmouseout="ChangeColor(this, false);"
         onclick="<g:remoteFunction action='modify' id='${address.id}'/>">

</tr> 

除了

您应该使用<tr></tr>而不是<tr/>

答案 3 :(得分:0)

您还想将光标更改为您的行

   <tr style="cursor: pointer;" onclick='document.location = "<g:createLink action='show' id='${product.id}'/>"'>