2011-08-12 217 views
2

嗨我想在grails中动态创建一个只强调某些选项标签的下拉列表。以下是我有:Grails选择标签:添加样式到特定的选项

<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>

有谁知道如何得到它是这个:

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

,这样它会打印“项目”?

,我迄今所使用的资源:

+0

相关:http://stackoverflow.com/questions/5976941/grails-gselect-tag –

回答

2

<g:select/>标记HTML编码值从optionValue属性返回,这就是为什么你的HTML是越来越逃脱。

要做到这一点,最好的方法是编写一个自定义taglib,但是,即使这样你可能会想用CS代替标记来做到这一点,因为<option>标签的CSS样式可能会得到更广泛的支持。

+0

那么,有没有办法为每个''

+1

不通过提供的''标签。内置taglibs专为简单用例而设计,大多数时间需要您编写自己的实现以获得您要查找的行为。我说大概有一半时间我会写我自己的标记。 – Rhysyngsun