2016-04-08 19 views
0

g: select kullanıyorum ve varsayılan seçilmiş bir değer koymak istiyor. Ancak, varsayılan değer boş olduğunda, 'Lütfen birini seçin' seçeneğini göstermelidir. Bununla birlikte, çalışamıyorum.g içinde seçin: gsp etiketini seçin

Kod aşağıdaki gibidir:

Bu Adresi nesnesidir - aşağı

Address 
    Long id 
    String name 
    Sheriff sheriff 
    String phaseCode 

ListOfSheriffs bir damla içerdiği seçenekler olduğu bir listesi Sheriff listesi

Sheriff 
    Long id 
    String name 
    //other property here 

nesne şeriflerin-içeriyor defaultSheriff, bir Adres

'un varsayılan şerifidir. defaultSheriff null Hava kodu

<g:select optionKey = "id" 
      optionValue = "${{sheriff.name +' '+sheriff.id}}" 
      name="sheriff.name" 
      from="${ListOfSheriffs}" 
      value="${(defaultSheriff == null) ? 'Please select one' : defaultSheriff}" /> 

Ancak benim GSP üzerinde biridir aşağıda alışkanlık ekranı 'Lütfen birini seçiniz', sayfa yalnızca ListOfSheriffs ilk şerifi görüntüler.

Bu çözümü here 'dan aldım. Ve dışarıda bıraktığımdan emin değilim.

Ayrıca, docs'da okuduğum şeye göre noSelection kullanmayı denedim. Ancak sonucudur sayfadaki açılır listeden varsayılan seçili değer bir şey vermiş ne net değilse, çekinmeyin defaultSheriff

<g:select optionKey = "id" 
      optionValue = "${{sheriff.name +' '+sheriff.id}}" 
      name="sheriff.name" 
      from="${ListOfSheriffs}" 
      value="${defaultSheriff}" 
      noSelection="[null:'Please select one']" /> 

boş olmadığı halde 'Lütfen birini seçin' her zaman onu eklemek için, bunu detaylandırmak için mutlu olacağım. teşekkürler

cevap

0

Sana bu işleri bu

<g:select optionKey = "id" 
      optionValue = "${{it.name +' '+ it.id}}" 
      name="sheriff.name" 
      from="${ListOfSheriffs}" 
      value="${sheriff?.id ?: defaultSheriff?.id}" 
      noSelection="['':'Please select one']" /> 
+0

gibi Tavsiyen gerektiğini söyleyebilirim! Teşekkürler –