在我的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)
我该怎么做
答案 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}" />