現在、ドロップダウン メニューから選択した値を渡して、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
backに渡され、実行されます。私のスクリプト関数を呼び出します: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に送信する別の方法はありますか?