javascript - 如何以选择性方式呈现表中的列

标签 javascript jquery

如何以选择性方式呈现表格中的列。我有包含默认显示的列(A、B、C、D、E)的 HTML 表格。

我希望用户根据他的选择对其进行子过滤(例如只显示 A、D、E)

是否有一个 jQuery 库可以轻松实现这种定制?

最佳答案

正在寻找这样的东西吗?

$('.column').on('change', function() {
  var index = $('th').index( $('th').filter('[data-column=' + $(this).data('column') + ']') );
  $('th,td').filter(function() {
    return $(this).index() === index;
  })[ this.checked ? 'show' : 'hide' ]();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <label>
    <input type="checkbox" class="column" checked data-column="a" name="a"/> A
  </label>
  <label>
    <input type="checkbox" class="column" checked data-column="b" name="b"/> B
  </label>
  <label>
    <input type="checkbox" class="column" checked data-column="c" name="c"/> C
  </label>
  <label>
    <input type="checkbox" class="column" checked data-column="d" name="d"/> D
  </label>
  <label>
    <input type="checkbox" class="column" checked data-column="e" name="e"/> E
  </label>
 </div>
  <table cellspacing="0" cellpadding="5" border="1">
    <tr>
      <th data-column="a">A</th>
      <th data-column="b">B</th>
      <th data-column="c">C</th>
      <th data-column="d">D</th>
      <th data-column="e">E</th>
    </tr>
    <tr>
      <td>some data</td>
      <td>some data</td>
      <td>some data</td>
      <td>some data</td>
      <td>some data</td>
    </tr>
  </table>

关于javascript - 如何以选择性方式呈现表中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31041426/

相关文章:

javascript - $.notify 不是 ajax 调用后 MVC 中 Bootstrap 的函数

javascript - 有没有办法在浏览器选项卡之间共享套接字连接

javascript - 如何让 plupload 从队列中删除文件?

javascript - Node.js 将页面 View 转移到其他页面 View 堆栈

javascript - jQuery .load 返回空 div(PHP 页面)

javascript - jQuery $.cookie 不是函数

jquery - 在 ajaxStart 中停止 jquery ajax 请求

javascript - 从已解决的 Promise 数组中获取值

javascript - 如何使用 node.js 连接到 mongodb(并进行身份验证)?

c# - 调整 jsonSerializer 时区