我想在Grails g:select taglib的每个选择选项中加载额外的数据.所需的输出如下:
<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>
我无法使用HTML 5的数据属性找到将额外数据添加到taglib的方法.那么如何实现类似的输出呢?
解决方法
你可以通过(mis-)使用闭包来渲染选择选项的值(在Grails select taglib中称为optionKey)来做到这一点:
<g:select from="${books}" optionKey="${{ book -> "${book.id}\" data-author=\"${book.author.name}"}}" optionValue="title" name="selectedBook"/>
这将使用data-author属性呈现选项:
<option value="1" data-author="Johann Wolfgang von Goethe">Faust</option>
这至少在Grails 2.4.4和Grails 3.1.5中有效.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。