【发布时间】:2016-07-29 19:35:26
【问题描述】:
我正在使用 g:select 并希望放置一个默认选定值。但是,当默认值为 null 时,它应该显示“请选择一个”。但是,我似乎无法解决。
代码如下:
这是地址对象 - 下拉列表中包含的选项
Address
Long id
String name
Sheriff sheriff
String phaseCode
ListOfSheriffs 是一个警长列表——包含警长对象的列表
Sheriff
Long id
String name
//other property here
defaultSheriff 是地址的默认警长
下面的代码是我的gsp上的一个
<g:select optionKey = "id"
optionValue = "${{sheriff.name +' '+sheriff.id}}"
name="sheriff.name"
from="${ListOfSheriffs}"
value="${(defaultSheriff == null) ? 'Please select one' : defaultSheriff}" />
但是,如果 defaultSheriff 为 null,则不会显示“请选择一个”,该页面仅显示 ListOfSheriffs 中的第一个警长。
我从here 得到了这个解决方案 .而且不太确定我遗漏了什么。
此外,我尝试根据我在docs 上阅读的内容使用 noSelection。但是,结果是,即使 defaultSheriff 不为空,页面下拉列表中的默认选择值始终是“请选择一个”
<g:select optionKey = "id"
optionValue = "${{sheriff.name +' '+sheriff.id}}"
name="sheriff.name"
from="${ListOfSheriffs}"
value="${defaultSheriff}"
noSelection="[null:'Please select one']" />
如果我提供的内容有什么不清楚的地方,请随时指出添加,我很乐意详细说明。谢谢
【问题讨论】: