2015-09-02 1 views
0

À mon avis la page HTML est mon suivantes-dynamique Dropdown ne fonctionne pas dans GSP

<select id="sereousness" > 
<option value="0" ${(subscribed.sereousness == '0')?'selected':''}>Casual${subscribed.sereousness}</option> 
<option value="1" ${(subscribed.sereousness == '1')?'selected':''}>Sereous${subscribed.sereousness}</option> 
<option value="2" ${(subscribed.sereousness == '2')?'selected':''}>VerySereous${subscribed.sereousness}</option> 
</select> 

mais affiche première option sélectionnée comme à chaque fois, même valeur de ${subscribed.sereousness} est différent?

enter image description here

+0

Comment est défini 'abonné.sereousness'? – lifeisfoo

+0

Regardez le code HTML qui est généré, que dit-il? Où est l'étiquette "sélectionnée"? – Aston

+0

'subscribed' est objet de la classe TrendingTopicCO { int sereousness } –

Répondre

0

La meilleure façon de construire votre SELECT est d'utiliser la balise de Graal g:select.

D'abord, créez un List pour servir d'options disponibles. Il est préférable de le faire dans votre contrôleur et de le transmettre à votre GSP via le modèle. Votre liste peut comprendre des paires clé/valeur comme ceci:

def options = [ 
    [id: 0, desc: 'Casual'], 
    [id: 1, desc: 'Serious'], 
    [id: 2, desc: 'Very Serious'] 
] 

Ensuite, dans votre GSP vous pouvez utiliser quelque chose comme ceci:

<g:select 
    name="sereousness" 
    from="${options}" 
    value="${subscribed.sereousness}" 
    optionKey="id" 
    optionValue="desc" 
    noSelection="['':'-Choose your seriousness-']"/> 

La balise <g:select> génère une liste d'options contenant les éléments options. L'élément sélectionné sera celui identifié dans subscribed.sereousness. Lorsqu'un élément est sélectionné et que le formulaire est envoyé, la valeur sereousness contiendra la valeur (ID) de l'option sélectionnée.