0

这是我的代码

<g:countrySelect name="country" value="${customerInstance?.country}"
             noSelection="['':'-Choose your country-']"/>

在显示视图(页面)中它显示值,而不是我希望它显示选定的选项

例如,-选择您的国家-阿富汗阿尔巴尼亚在上面的例子中我希望显示页面显示选项(“阿富汗”)而不是那个值(“alg”),这是我的问题帮助我解决这个问题

4

2 回答 2

1

您必须覆盖 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-']"/>

尝试这个..,。

于 2013-07-31T08:16:10.177 回答
0

您可以覆盖标签的 optionKey。

例如

g:countrySelect name="country" noSelection="['':'-Choose your country-']" value="${customerInstance?.country}" optionKey="${{CountryTagLib.ISO3166_3[it]}}"

现在 optionKey 和 optionValue 将是完整的国家名称。

于 2013-11-07T06:35:44.500 回答