我使用g:select,并希望将一个默认的选定值。但是,当默认值为null时,它应该显示一个“请选择一个”。然而,我似乎无法解决这个问题。
代码如下:
这是下拉列表中包含的Address对象选项。
Address
Long id
String name
Sheriff sheriff
String phaseCodeListOfSheriffs是一个治安官列表-包含治安官对象列表。
Sheriff
Long id
String name
//other property heredefaultSheriff是地址的默认治安官
下面的代码是我的gsp上的代码
<g:select optionKey = "id"
optionValue = "${{sheriff.name +' '+sheriff.id}}"
name="sheriff.name"
from="${ListOfSheriffs}"
value="${(defaultSheriff == null) ? 'Please select one' : defaultSheriff}" />但是,defaultSheriff是否为空‘请选择一个’将不会显示,该页面只显示来自ListOfSheriffs的第一个治安官。
我从这里那里得到了这个解决方案。也不太确定我遗漏了什么。
此外,我根据我在noSelection上读到的内容尝试使用文档。但是,结果是,即使defaultSheriff不是null,页面下拉列表上的默认值始终是“请选择一个”
<g:select optionKey = "id"
optionValue = "${{sheriff.name +' '+sheriff.id}}"
name="sheriff.name"
from="${ListOfSheriffs}"
value="${defaultSheriff}"
noSelection="[null:'Please select one']" />如果我所提供的东西不清楚,可以随意添加,我会很乐意详细说明的。谢谢
发布于 2016-04-08 14:31:45
我想说你需要这样的东西
<g:select optionKey = "id"
optionValue = "${{it.name +' '+ it.id}}"
name="sheriff.name"
from="${ListOfSheriffs}"
value="${sheriff?.id ?: defaultSheriff?.id}"
noSelection="['':'Please select one']" />https://stackoverflow.com/questions/36501278
复制相似问题