【问题标题】:Grails Select tag: adding styles to specific opitionsGrails Select 标签:为特定选项添加样式
【发布时间】:2011-08-13 01:57:25
【问题描述】:

您好,我正在尝试在 grails 中创建一个动态创建的下拉列表,该列表仅强调某些选项标签。这是我所拥有的:

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

这在某种意义上是有效的,它会打印要打印的东西,但是当它假设添加&lt;em&gt; 标签时,它会像这样打印它:

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

这不是我需要的。在下拉列表中打印&lt;em&gt;ITEM&lt;/em&gt;

有谁知道如何让它变成这样:

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

这样它会打印 'ITEM' ?

到目前为止我使用过的资源:

【问题讨论】:

标签: grails select groovy drop-down-menu


【解决方案1】:

&lt;g:select/&gt; 标签 html 对 optionValue 属性返回的值进行编码,这就是您的 html 被转义的原因。

最好的方法是编写自定义标记库,但是,即使这样,您也可能希望使用 CS 而不是标记来执行此操作,因为 &lt;option&gt; 标记的 CSS 样式可能得到更广泛的支持。

【讨论】:

  • 那么有没有办法为每个&lt;option&gt;标签创建一个id标签?这样我就可以编写一个 javascript 函数来更改样式。
  • 不是通过提供的&lt;g:select/&gt; 标签。内置标记库是为简单的用例而设计的,大多数情况下需要您编写自己的实现来获得您正在寻找的行为。我会说大约一半的时间我最终都会编写自己的标记。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-25
  • 2019-01-07
相关资源
最近更新 更多