2011-08-12 12 views
2

こんにちは、特定のオプションタグのみを強調するgrailsで動的に作成されるドロップダウンリストを作成しようとしています。ここで私が持っているものです。Grails Selectタグ:特定のオプションにスタイルを追加する

<g:select class="DropDownList" 
    from="${listOfMaps}" 
    optionValue="${{(it.match=='Something'?'<em>':'') + it.thingToPrint 
    + (it.match=='Something'?'</em>':'') }}" 
    /> 

、これはそれが印刷する事を出力しますという意味で動作しますが、それは<em>タグを追加すると仮定したとき、それはこのようにそれを印刷します。

<option>&lt;em&gt;ITEM&lt;/em&gt;</option> 

それは私が必要なものではありません。ドロップダウンリストに<em>ITEM</em>という文字が印刷されます。それはITEM」を印刷するように

<option><em>ITEM</em></option> 

誰もが、それは、代わりにこのように取得する方法を知っていますか?

私がこれまで使用してきた資源:

+0

関連:http://stackoverflow.com/questions/5976941/grails-gselect-tag –

答えて

2

<g:select/>タグHTMLをあなたのHTMLをエスケープなっている理由です、optionValue属性から返された値を符号化します。

カスタムタグリブを書くのが最善の方法ですが、<option>タグのCSSスタイル設定がおそらくより広範にサポートされている可能性があるため、マークアップではなくCSでこれを行うこともできます。

+0

+1

付属の ''タグを使用していません。ビルトインのタグライブラリは、単純なユースケース用に設計されており、ほとんどの場合、あなたが探している動作を得るために独自の実装を記述する必要があります。私は私自身のマークアップを書くことになる時間の約半分を言うだろう。 – Rhysyngsun

関連する問題