0

我有一个从 MySQL 数据源生成的下拉菜单。

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

这会用我表中的一列填充菜单

现在,根据选择,我想在 gsp 表单上显示与文本相同的表中的其他列。

所以用户从下拉列表中选择 Name1。我显示在下拉菜单下方

名称 1。年龄 21. 学位是的。

我的控制器中有一个名为 allDetails 的操作,它查询与名称关联的所有值并返回一个字符串。但我不确定如何传递参数

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

做这个的最好方式是什么。在 selected() 或以某种方式调用该操作的 gsp 标记内运行 JavaScript 远程函数?然后如何显示返回的字符串?改变innerHTML?

试过http://www.grails.org/AJAX-Driven+SELECTs+in+GSP

4

1 回答 1

2

您不能使用remoteFunction其他核心 Grails 标签,因为它的文本是在页面渲染期间完全生成的,并且您只知道在 Javascript 中执行期间选择的名称onchange

所以使用jQuery Ajax 调用(除非你切换到不同的 Javascript 插件)。

我建议你不要选择一个名字,而是选择id那个人的一个名字,就像在第二个g:select例子中一样。

于 2013-02-12T08:27:27.900 回答