2011-05-12 11 views
5

estoy usando un g: Seleccionar etiqueta como esta:griales g: Seleccionar etiqueta

<td><g:select name="newCity" 
     id="${'newCity_' +cityData.uid}" 
     from="${cityData.name}" 
     value="${cityData.someValue}" 
     noSelection="${['null':'Select City...']}" class="newCity" /> 
</td> 

que hace que el código HTML siguiente:

<td> 
<select name="newCity" id="newCity_abc" class="newCity" > 
<option value="null">Select City...</option> 
<option value="A" >A</option> 
<option value="B" >B</option> 
<option value="C" >C-</option> 
<option value="D" >D</option> 
</select> 
</td> 

Sin embargo, quiero que mi HTML para tener este aspecto; con la clase insertada ya que estoy haciendo alguna validación javascript:

<td> 
<select name="newCity" id="newCity_abc" class="newCity" > 
<option value="null">Select City...</option> 
<option value="A" class="populated" >A</option> 
<option value="B" class="notpopulated" >B</option> 
<option value="C" class="populated" >C</option> 
<option value="D" class="notpopulated" >D</option> 
</select> 
</td> 

¿Esto es posible?

¿Necesito crear una biblioteca de etiquetas personalizada para lograr esto?

Cualquier ayuda será apreciada, ¡Gracias!

Respuesta

4

No creo que esto sea posible. El select tag implementation (que writes out the <option> tags) llama al private method writeValueAndCheckIfSelected para completar el option, y esto no tiene conocimiento de ningún nombre de clase.

No es un niño de 2 años New Feature Request on the Grails JIRA, pero creo que puede ser atrapado rodar su propia etiqueta para hacer esto para su situación específica.

+0

tim, ¿algún consejo sobre cómo escribir mi propia etiqueta? ¡Gracias! –

+0

Debería poder hacer 'grails create-tag-lib' y básicamente copiar la implementación de la etiqueta de selección existente en su etiqueta, pero agregue las clases para las opciones. es decir; este tipo quería agregar el grupo de opciones para seleccionar: http://vivin.net/2009/02/11/creating-a-custom-select-tag-with-optgroup-in-grails/ –

+0

¿Hay alguna manera de hacerlo? delegar a la etiqueta Grails, en lugar de copiar y pegar la fuente? –

Cuestiones relacionadas