0

MySQLデータソースから生成されたプルダウンメニューがあります。

 <g:select onchange="selected()"  id="name" name="name" from="${listOfNames()}" noSelection="['':'--']"/>

これにより、メニューにテーブルの1つの列が表示されます

ここで、選択に基づいて、gspフォームのテキストと同じテーブルから追加の列を表示したいと思います。

したがって、ユーザーはドロップダウンからName1を選択します。ドロップダウンメニューの下に表示します

名前1。21歳。学位はい。

コントローラ内にallDetailsというアクションがあり、名前に関連付けられているすべての値をクエリして文字列を返します。しかし、パラメータを渡す方法がわかりません

"${remoteFunction(action:'allDetails', params: \'name=\' params.name')}

これを行うための最良の方法は何ですか。selected()内でJavaScriptリモート関数を実行するか、アクションを何らかの方法で呼び出すgspタグを実行しますか?次に、返された文字列を表示する方法は?innerHTMLを変更しますか?

http://www.grails.org/AJAX-Driven+SELECTs+in+GSPを試しました

4

1 に答える 1

2

remoteFunctionまたは他のコアGrailsタグを使用することはできません。これは、そのテキストがページレンダリング中に完全に生成され、Javascriptの実行中に選択された名前しかわからないためですonchange

したがって、jQuery Ajax呼び出しを使用します(別のJavascriptプラグインに切り替えた場合を除く)。

また、2番目のg:selectの例のように、名前ではなく、idその人の名前を選択することをお勧めします。

于 2013-02-12T08:27:27.900 に答える