Как ограничить видимый размер окна выбора в Grails до 1? - PullRequest
4 голосов
/ 28 июля 2011

С тегом <g:select> ... иногда он обычно отображается как выпадающий список выбора, в то время как иногда он отображается с несколькими строками, это очень раздражает .... Даже я помещаю size = "1" в <g:select>, он по-прежнему отображает несколько строк ... кто-нибудь знает, как заставить <g:select> отображать правильно? виден только один элемент, например выпадающий список. Спасибо !!

<g:select size="1" id="s_caseID" name="s_caseID" value="${t1T2InstanceListTotal?.Accession_No}"
          noSelection="${['null':'Select One...']}"
          from='${t1T2InstanceListTotal}'
          optionKey="Accession_No" optionValue="Accession_No" onclick="this.form.submit();" >
</g:select>

Ответы [ 3 ]

1 голос
/ 29 июля 2011

Установите атрибут multiple на false

<g:select name="cars"
      from="${Car.list()}"
      value="${person?.cars*.id}"
      optionKey="id" 
      multiple="false" />
1 голос
/ 28 июля 2011

Вот код taglib , который приводит к визуализации атрибута multiple="multiple" (если он явно не объявлен в теге):

    def value = attrs.remove('value')
    if (value instanceof Collection && attrs.multiple == null) {
        attrs.multiple = 'multiple'
    }

Таким образом, похоже, что выпередача Collection в качестве атрибута <g:select> * value вместо одного значения.Это то, что вы собираетесь делать?

0 голосов
/ 12 августа 2014

Если «значение» является списком, g: select всегда рассматривает его как множественный выбор.Чтобы избежать этого и иметь единый выпадающий список, просто игнорируйте атрибут value и используйте вместо него параметр keys !

Это прекрасно работает для меня!

`<g:select id="s_caseID" name="s_caseID" from='${t1T2InstanceListTotal}' 
      noSelection="${['null':'Select One...']}"          
      keys="${t1T2InstanceListTotal?.Accession_No}" onclick="this.form.submit();">
 </g:select>`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...