gpt4 book ai didi

grails - 如何在具有多个参数的gsp中调用onchange remoteFunction?

转载 作者:行者123 更新时间:2023-12-02 14:38:05 25 4
gpt4 key购买 nike

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

如果您看下面的代码,“this.value”将为我正确地提供新选择的经理的记录ID(GSP中的下拉组合),但是我似乎无法通过简单的$ {传递前一个经理的记录ID deptInstance?.manager?.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')};">

到目前为止一切顺利,我得到了两个参数。

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

有谁知道如何在gsp remoteFunction调用中引用下拉列表组合的先前值?

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

提前谢谢了,
Realm

最佳答案

我怀疑您是否甚至需要完全将oldmanager作为参数传递。

一种更干净的方法是读取managerMaintenance Controller 操作中的manager以获得先前的值。

gsp示例:

<g:select
...
onchange="${remoteFunction(action:'managerMaintenance', id:deptInstance?.id, params:[manager.id:this.value])}">

Controller 示例:
def managerMaintenance = {
def deptInstance = Department.get(params.id)

def oldManager = defInstance.manager

deptInstance.properties = params

def newManager = defInstance.manager
}

当然,如果您也需要此技巧,那就...
domainInstance.getPersistentValue('propertyName')

关于grails - 如何在具有多个参数的gsp中调用onchange remoteFunction?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5557997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com