Grails 如何在gsp中使用多个参数调用onchange remoteFunction?

Grails 如何在gsp中使用多个参数调用onchange remoteFunction?,grails,onchange,gsp,Grails,Onchange,Gsp,目标是在为特定部门选择新经理时更新“员工”的属性。需要更新的属性属于前任部门主管,因此需要前任经理的记录id 如果您查看下面的代码,“this.value”将正确地为我提供新选择的管理器(GSP中的下拉组合)的记录id,但我似乎无法使用简单的${deptInstance?.manager?.id}将上一个管理器的记录id传递给ajax remoteFunction 他们之间的关系:职员--1:N-->部门 GSP中的代码段: <g:select name="manager.id"

目标是在为特定部门选择新经理时更新“员工”的属性。需要更新的属性属于前任部门主管,因此需要前任经理的记录id

如果您查看下面的代码,“this.value”将正确地为我提供新选择的管理器(GSP中的下拉组合)的记录id,但我似乎无法使用简单的${deptInstance?.manager?.id}将上一个管理器的记录id传递给ajax remoteFunction

他们之间的关系:职员--1:N-->部门

GSP中的代码段:

<g:select
    name="manager.id" 
    from="${Staff.list()}" 
    optionKey="id" 
    value="${deptInstance?.manager?.id}" 
    onchange="${remoteFunction(action:'managerMaintenance', params:'\'oldmanager=\' + this.value + \'&newmanager=\' + this.value')};">

到目前为止,很好,我得到了两个参数

唯一的问题是,一旦我对oldmanager参数使用${groupInstance?.manager?.id}而不是“this.value”,那么我就无法在控制器方法“managerMaintenance”中接收任何内容

有人知道如何在gsp remoteFunction调用中引用下拉组合的上一个值吗

也许我的方法是错误的,但我希望您能提供有关正确GSP语法的任何信息,或者提供一种可能的解决方法

多谢各位,
sphere

我怀疑您是否需要将
oldmanager
作为参数传递

一种更简洁的方法是在
managerMaintenance
控制器操作中读取以获取manager的上一个值

普惠制示例:

<g:select
...
onchange="${remoteFunction(action:'managerMaintenance', id:deptInstance?.id, params:[manager.id:this.value])}">
当然,如果你也需要的话,这里有一个很好的技巧

domainInstance.getPersistentValue('propertyName')
domainInstance.getPersistentValue('propertyName')