如何使用g:select来创建具有常量列表项的选择框

时间:2013-03-08 16:32:05

标签: grails groovy

我想使用<g:select/>创建一个选择框,转换为此html:

<select id="myselect" name="myselect">
  <option value="r">RED</option>
  <option value="g">GREEN</option>
  <option value="b">BLUE</option>
</select>

我还希望在页面重新加载时从bean中预先选择该值。

我在这里做了这个,所以我有一个表,每一行都有一个单独的选项框。

我目前正在以下html中完成此任务:

<g:each in=${mylist} status="i" var="myInst">
   <select id="status${myInst}" name="status${myInst}" data-id="${myInst.id}">
      <option value="r" <g:if test="${myInst.color == "r"}">selected</g:if>>RED</option>
      <option value="g" <g:if test="${myInst.color == "g"}">selected</g:if>>Green</option>
      <option value="b" <g:if test="${myInst.color == "b"}">selected</g:if>>BLUE</option>
   </select>
</g:each>

一切正常,但我想将丑陋的<select>更改为<g:select>

2 个答案:

答案 0 :(得分:8)

<g:select id="myselect" name="myselect" value="${myInst.color}"
          from="${['r': 'RED', 'g': 'GREEN', 'b': 'BLUE']}"
          optionKey="key" optionValue="value" />

答案 1 :(得分:-1)

您必须在域类中声明“myselect”。我也一直遇到这个问题,但我提前两周左右。见how do I write a set for g:select tag