Grails g:选择添加HTML 5数据属性

时间:2016-04-11 14:22:57

标签: html5 grails

我想在Grails cd taglib的每个选择选项中加载额外的数据。所需输出如下:

g:select

我无法使用HTML 5的数据属性找到将额外数据添加到taglib的方法。那么如何实现类似的输出呢?

4 个答案:

答案 0 :(得分:3)

您可以通过(mis-)使用闭包来渲染选择选项的值(在Grails select taglib中称为optionKey)来执行此操作:

data-author

这将使用<option value="1" data-author="Johann Wolfgang von Goethe">Faust</option> 属性呈现选项:

http://webserver/Foo/login/

至少在Grails 2.4.4和Grails 3.1.5中有效。

答案 1 :(得分:2)

grails <g:select />标记现在具有dataAttrs属性,该属性带有一个映射,该映射将转换为数据属性,如下所示:

<g:select from="${dogs}" dataAttrs="[foo: it.species]" name="dog" />

如果每条狗都有一个名为“物种”的属性,其值如问题中所示,则此代码将产生...

<select id="select">
  <option value="1" data-foo="dogs">this</option>
  <option value="2" data-foo="cats">that</option>
  <option value="3" data-foo="gerbils">other</option>
</select>

答案 2 :(得分:0)

如上述评论所述,目前无法做到这一点。您需要编写自己的标记库来实现此目标。

答案 3 :(得分:0)

您可以使用以下

获得类似的结果
<select id="select">
  <g:each in="${books}" var="book">
     <option value="${book.id}" data-foo="${book.slug}">${book.name}</option>
  </g:each>
</select>