我目前正在尝试传递从g:select
下拉菜单中选择的值,并将其传递给与下拉菜单位于同一 gsp 内的脚本。出于某种原因,运行我的脚本的调用仅在我调用函数本身并且不从我的控制器函数向它传递值时才起作用,控制器函数正在获取我需要传递给脚本的值。我很确定问题出在我将值从控制器传递到我的 gsp 以便然后可以将其发送到我的脚本的地方,但我不确定为什么它在传递时不起作用。
这是我的脚本的代码:
function locationParameterSet(data){
alert("This worked " + data);
}
这是我的g:select
下拉菜单的代码:
<g:select name="locationSelection" from="${location_names}" value="${params.site_id}"
optionKey="location_id" optionValue="short_name" noSelection="['': '----Site----']"
onchange="${remoteFunction(controller: 'term', action: 'locationParameterSet',
onComplete: 'locationParameterSet(data)', params: '\'location_id=\' + this.value',
options: '[asynchronous: false]')}"/>
这是从下拉菜单中选择选项时运行的方法。一旦控制器内部的方法完成,它就会id
返回g:select
并运行。调用我的脚本onComplete: 'locationParameterSet(data)'
函数:onComplete
locationParameterSet(data)
def locationParameterSet = {
session["location_id"] = params.location_id
def location_id = params.location_id
[location_id: location_id]
}
是否有不同的方式将其发送id
到 gsp 以便我的脚本运行?