GSP - 为select tag选项设置整数值

时间:2013-09-02 13:08:12

标签: grails gsp

在我的GSP中,我有一个选择标记

<g:select  from="${named}" name="name"  noSelection="['':'-Select-']"  ></g:select>

生成HTML

<select name="name" id="name">
 <option value="">-Select-</option>
 <option value="USA">USA</option>
 <option value="UK">UK</option>

但我需要从1开始有整数值(我,美国将有1和英国2)

我该怎么做

3 个答案:

答案 0 :(得分:2)

一个解决方案可能是在将列表返回到gsp之前,将列表转换为映射并定义国家/地区的索引,以便您得到一个结果,例如..

def named = ["USA","UK"]
def namedMap = [:]
named.eachWithIndex() {obj, i -> namedMap.put(++i, obj) }

会产生像

这样的结果
def namedMap = [1:"USA",2:"UK"]

在您的GSP中,您可以这样做:

<g:select optionKey="key" optionValue="value" 
    name="name" noSelection="['':'-Select-']" from="${namedMap}" />

答案 1 :(得分:0)

试试这个..,。

<select name="name">
    <g:each in="${named}" var="country" status="idx">
        <option value="${idx + 1}">${country}</option>
    </g:each>
</select>

答案 2 :(得分:0)

您可以在g:select标签中设置选项键,如下所示......

<g:select id="name" name="name" from="${name}" optionKey="id" optionValue="${{it.name}}" value="${named}" />