这是我的代码
<g:countrySelect name="country" value="${customerInstance?.country}"
noSelection="['':'-Choose your country-']"/>
在显示视图(页面)中它显示值,而不是我希望它显示选定的选项
例如,-选择您的国家-阿富汗阿尔巴尼亚在上面的例子中我希望显示页面显示选项(“阿富汗”)而不是那个值(“alg”),这是我的问题帮助我解决这个问题
这是我的代码
<g:countrySelect name="country" value="${customerInstance?.country}"
noSelection="['':'-Choose your country-']"/>
在显示视图(页面)中它显示值,而不是我希望它显示选定的选项
例如,-选择您的国家-阿富汗阿尔巴尼亚在上面的例子中我希望显示页面显示选项(“阿富汗”)而不是那个值(“alg”),这是我的问题帮助我解决这个问题
您必须覆盖 countrySelect 标签或创建您自己的标签。
import org.codehaus.groovy.grails.plugins.web.taglib.CountryTagLib
class FormsTagLib {
static namespace = "bootstrap"
Closure countrySelect = { attrs ->
if (!attrs.from) {
attrs.from = CountryTagLib.COUNTRY_CODES_BY_NAME_ORDER
}
if (!attrs['valueMessagePrefix']) attrs.optionValue = { CountryTagLib.ISO3166_3[it] }
attrs.optionKey = { CountryTagLib.ISO3166_3[it] }
if (!attrs.value) {
attrs.value = attrs.remove('default')
}
out << select(attrs)
}
}
并将其称为
<bootstrap:countrySelect name="country" value="${customerInstance?.country}" noSelection="['':'-Choose your country-']"/>
尝试这个..,。
您可以覆盖标签的 optionKey。
例如
g:countrySelect name="country" noSelection="['':'-Choose your country-']" value="${customerInstance?.country}" optionKey="${{CountryTagLib.ISO3166_3[it]}}"
现在 optionKey 和 optionValue 将是完整的国家名称。