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