我有一个从 MySQL 数据源生成的下拉菜单。
<g:select onchange="selected()" id="name" name="name" from="${listOfNames()}" noSelection="['':'--']"/>
这会使用我表格中的一列填充菜单
现在,根据选择,我想将同一表中的其他列显示为 gsp 表单上的文本。
因此用户从下拉列表中选择 Name1。我显示在下拉菜单下方
姓名1。 21岁。学位是的。
我的 Controller 中有一个名为 allDetails 的操作,它查询与名称关联的所有值并返回一个字符串。但我不知道如何传递参数
"${remoteFunction(action:'allDetails', params: \'name=\' params.name')}
最好的方法是什么?在 selected() 内运行 JavaScript 远程函数或以某种方式调用该操作的 gsp 标签?那么如何显示返回的字符串呢?更改innerHTML?
最佳答案
您不能使用remoteFunction
或other core Grails tags ,因为它的文本是在页面渲染期间完全生成的,并且您只在 onchange
中执行 Javascript 时知道所选的名称。
所以使用jQuery Ajax call (除非您切换到不同的 Javascript 插件)。
我建议您不要选择姓名,而是选择该人的 id
,例如第二个 g:select示例。
关于javascript - Grails:如何根据 GSP 表单中的选择显示数据源中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14822736/