在控制器上渲染g.select

时间:2014-02-06 10:39:44

标签: spring grails

如何在控制器上设置g:select的默认值?从我的名单列表

这是我的列表["peter","josh","john","thomas"]

render g.select( name:'selectName',
                 from:listOfName,
                 optionKey:'id',
                 optionValue:'name',
                 value:'john')

提交表格后,当g:选择重新加载时,它仍然在第一个列表上设置,即peter。我不知道如何获得选择的默认值,或者我如何获得g的onComplete标签上的值:select

1 个答案:

答案 0 :(得分:1)

查看您的示例,选择列表中第一个值的原因是因为您的optionKey是“id”,而您的“value”似乎是optionValue。 “value”应包含所选选项的“id”而不是optionValue。

以下是一个例子来说明这一点:

<g:select name="selectName" from="${[['id': 2, 'name': 'Bob'], ['id': 1, 'name': 'Joe']]}" optionKey="id" optionValue="name" value="1" />

更新(由于您在问题中添加了更多信息并对其进行了更改)

不需要select的optionKey和optionValue设置。在您的新示例中,简单使用:

render g.select( name:'selectName',
                 from:listOfName,
                 value:'john')