0

在我的 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)

我该怎么做

4

3 回答 3

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}" />
于 2013-09-02T13:31:15.620 回答
0

您可以像这样在 g:select 标签中设置选项键...

<g:select id="name" name="name" from="${name}" optionKey="id" optionValue="${{it.name}}" value="${named}" />
于 2013-09-03T04:59:29.227 回答
0

尝试这个..,。

<select name="name">
    <g:each in="${named}" var="country" status="idx">
        <option value="${idx + 1}">${country}</option>
    </g:each>
</select>
于 2013-09-02T17:28:20.843 回答