1

我希望有人可以提供帮助。

我有以下不被接受的代码:

<g:link title="Periodendaten speichern" action="speicherePeriodendaten" params="'\'pStart=\' + $('#periodeStart'${i}').value'" id="${zwzPeriode.id}">

使用 $('#periodeStartX'),我试图获取 ID 为 periodeStartX 的 DOM 元素,其中 X 是 i 的当前值。i 来自 ag:each-Tag (status=i)

我知道以下是有效的:

<g:link title="Periodendaten speichern" action="speicherePeriodendaten" params="'\'pStart=\' + this.value'" id="${zwzPeriode.id}">

但是在上面的场景中,我不想拥有当前Tag的值,我想要另一个Tag的值。

因此,我的问题是,我不明白如何正确地在这里逃脱。

我会很感激任何好的提示。

最好的问候,迈克尔

4

2 回答 2

2

下面的另一种方法:

<r:require module="jquery"/>

<input id="periodeStart1" value="V1" />
<input id="periodeStart2" value="V2" />

<%-- Sample variables --%>
<g:set var="i" value="1" />
<g:set var="id" value="42" />               

<%-- Resolve pStart "onclick" event --%>                
<a href="${createLink(action: 'speicherePeriodendaten', params: [id: zwzPeriode.id])}" onclick="this.href=this.href+'?pStart='+$('#periodeStart${i}').val()">Sample Link</a>

Edit1:另外,您可能应该用 encodeURIComponent() 包装 $('#periodeStart${i}').val()。以防万一。

于 2013-02-27T13:37:31.713 回答
1

您需要转义 $ 符号,因为 Groovy 会尝试将其视为表达式:

<g:link title="Periodendaten speichern" action="speicherePeriodendaten" params="'\'pStart=\' + \$('#periodeStart'${i}').value'" id="${zwzPeriode.id}">
于 2013-02-27T11:41:11.203 回答