Javascript 从下拉菜单向gsp中的脚本传递值
我目前正在尝试传递从Javascript 从下拉菜单向gsp中的脚本传递值,javascript,grails,drop-down-menu,controller,gsp,Javascript,Grails,Drop Down Menu,Controller,Gsp,我目前正在尝试传递从g:select下拉菜单中选择的值,并将其传递给与下拉菜单位于同一gsp中的脚本。出于某种原因,仅当我调用函数本身时,运行脚本的调用才起作用,而不是从控制器函数向其传递值,该函数获取我需要传递给脚本的值。我很确定问题来自于我将值从我的控制器传递到我的gsp,这样它就可以被发送到我的脚本,但我不确定为什么传递时它不起作用 这是我的脚本的代码: function locationParameterSet(data){ alert("This worked " + data
g:select
下拉菜单中选择的值,并将其传递给与下拉菜单位于同一gsp中的脚本。出于某种原因,仅当我调用函数本身时,运行脚本的调用才起作用,而不是从控制器函数向其传递值,该函数获取我需要传递给脚本的值。我很确定问题来自于我将值从我的控制器传递到我的gsp,这样它就可以被发送到我的脚本,但我不确定为什么传递时它不起作用
这是我的脚本的代码:
function locationParameterSet(data){
alert("This worked " + data);
}
这是myg:选择
下拉菜单的代码:
<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
发送给gsp,以便我的脚本运行?关于您的问题,我不明白的一点是:
您为什么要再次将id发送给gsp?您的选择中已经有了它
如果onchange处理程序可以工作,那么它应该非常简单:
<g:select name="locationSelection" from="${location_names}" value="${params.site_id}"
optionKey="location_id" optionValue="short_name" noSelection="['': '----Site----']"
onchange="locationParameterSet(this.value)"/>
<g:select name="locationSelection" from="${location_names}" value="${params.site_id}"
optionKey="location_id" optionValue="short_name" noSelection="['': '----Site----']"
onchange="locationParameterSet(this.value)"/>
var sel = document.getElementById('giveSelectAnId');
sel.onchange = function() {
locationParameterSet(this.value)
}