【发布时间】:2013-11-13 18:20:18
【问题描述】:
我目前正在尝试传递从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 以便我的脚本运行?
【问题讨论】:
标签: javascript grails drop-down-menu controller gsp