我想在Grails cd
taglib的每个选择选项中加载额外的数据。所需输出如下:
g:select
我无法使用HTML 5的数据属性找到将额外数据添加到taglib的方法。那么如何实现类似的输出呢?
答案 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>