如何填充grails gsp select(下拉框)字段?

时间:2014-07-25 19:50:05

标签: grails model-view-controller gsp

因此,控制器将Race对象/模型列表返回给视图。

def addquestion(Long id){

    def event = CompositeEvent.get(id)

    [races: event.races]

}

唯一值得注意的是,这些Race模型有一个属性" name"。因此,我想在选择下拉框中填写比赛名称,但我很难按照文档进行操作,所以我来到这里是为了得到专家的帮助。这是我做的,但我没有得到填充的名称,但类型。

<g:select name="asd" from="${races}" value="1" optionKey="name" />

我的理解是from属性是我应该指向的模型或列表,在我的情况下是#34;比赛&#34;因为这是传递给视图的Race对象列表,而optionKey是指向要打印的对象属性的属性。我感谢任何帮助!谢谢!

1 个答案:

答案 0 :(得分:3)

根据docs g:select有两个属性optionKeyoptionValue,结果如下:

<select name="{selectName}">
  <option value="{optionKey}">{optionValue}</option>
  <option value="{optionKey}">{optionValue}</option>
  <option value="{optionKey}">{optionValue}</option>
</select>
  

我没有填充名称但是类型

因为您没有设置optionValue,所以会发生默认的toString()表示,这似乎就是您所说的&#34;类型&#34;。以下代码应该按照您的要求执行:

<g:select name="races" from="${races}" value="1" optionKey="id" optionValue="name" />