我有一种情况,一旦在另一个下拉列表中做出选择,我需要在我的gsp上填充下拉列表。我不知道该如何解决这个问题。我在渲染gsp之前通过模型映射填充了父下拉列表。
在渲染gsp之前,我可以很容易地从我的控制器向gsp提供模型信息,但是我无法动态创建并将模型传递给gsp,即一旦gsp已经渲染了怎么办?我应该把它作为ajax或如何发送?我似乎无法看到它。我不像概念建议那样寻找确切的代码答案。
我正在做的第一步是当gsp上的父下拉列表用于选择值时,尝试在控制器中调用一个函数:
<g:select name = "seleInst" from = "${instlist}" style = "border-radius: 5px" onchange="${remoteFunction(action:'updateUserlist(this.value)', controller: 'admin')}"></g:select>
我在这里遇到的问题是如何将参数(在父下拉列表中选择的值)传递给控制器方法。我只是把它放在上面的括号中以帮助我思考。这可能不是正确的语法。
感谢。
答案 0 :(得分:2)
执行此操作的正确方法是通过ajax填充第二个列表。使用jQuery非常简单。
如果真的需要,我可以提供详细的代码示例,但是你说你只是想要概念建议,所以让我们从那开始。
<强>更新强>
看到你正在使用remoteFunction
(我可能会提到Grails的未来版本中将会消失),你将会在那里正确地获取你的参数。
然而,根据this post,可以做到。如果您使用的是2.x版本的Grails,那么您的提供程序将是jQuery。我总是亲自远离remoteFunction
标签并编写自己的jQuery。