在表格的某些列添加筛选器有助于数据分析,在生物数据里这个功能尤其重要。今天在项目的基因表达数据表实现了这个功能。
使用 DataTables 自带例子
DataTables 是特别实用的 jQuery 表格插件,官方文档介绍了添加列筛选器的方式(详见 https://www.datatables.net/release-datatables/examples/api/multi_filter_select.html):
1 | $(document).ready(function() { |
其原理是在表格的 <tfoot>
标签里放置 <select>
并添加 search 功能,实际使用时给 <tfoot>
加入样式 display: table-header-group
即可满足需求。
效果图:
手写实现前置的 tfoot 标签
经过测试,Chrome
、Firefox
正常显示预期效果,然而 IE
和 EDGE
浏览器始终把 <tfoot>
标签放置于 <tbody>
下面 (╯°Д°)╯︵ ┻━┻ 接着花了很长时间 google 也没找到解决方法,面对硬性的需求,只好硬着头皮尝试。
具体做法:
- 在
<thead>
标签里新建一个<tr>
标签。 - 构建 DataTables 后调换
<thead>
把新建的标签提前。 - 手动处理
DataTables
的 column visibility 设置。
1 | generateIETfoot('table2'); |