我有一个从MySQL dataSource生成的下拉菜单。
<g:select onchange="selected()" id="name" name="name" from="${listOfNames()}" noSelection="['':'--']"/>
这会使用我的表格中的一列填充菜单
现在根据选择我想在同一个表格中显示与gsp表单上的文本相关的其他列。
所以用户从下拉列表中选择Name1。我显示在下拉菜单下面
名1。年龄21.度是的。
我的控制器中有一个名为allDetails的动作,它查询与名称关联的所有值并返回一个字符串。但我不知道如何传递参数
"${remoteFunction(action:'allDetails', params: \'name=\' params.name')}
这样做的最佳方法是什么。在selected()内部运行JavaScript远程函数或以某种方式调用该动作的gsp标记?如何显示返回的字符串?改变innerHTML?
答案 0 :(得分:2)
您无法使用remoteFunction
或other core Grails tags,因为其文字在页面呈现期间完全生成,并且您只能在onchange
执行Javascript期间知道所选名称。
因此请使用jQuery Ajax call(除非您切换到其他Javascript插件)。
我建议你不要选择一个名字,而是选择该人的id
,就像在第二个g:select示例中一样。