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);
}
这是my
g:选择
下拉菜单的代码:

<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)
   }