为了账号安全,请及时绑定邮箱和手机立即绑定

使用 JavaScript 动态显示/隐藏列不起作用

使用 JavaScript 动态显示/隐藏列不起作用

凤凰求蛊 2021-06-07 14:24:09
我的任务是在我的 DataTables 中出现切换 JavaScript,但它似乎不仅按钮甚至功能都不起作用。这是我的代码HTML  <div class="col-lg-12 col-md-12 col-sm-12 mb-30">    <table class="data-table stripe hover multiple-select-row nowrap" id="example">      <thead>        <tr>          <th class="table-plus datatable-nosort">No</th>          <th>Name</th>          <th>Phone</th>          <th>Email</th>        </tr>      </thead>      <tbody>        <tr>          <td class="table-plus">1</td>          <td>Michael</td>          <td>123456789</td>          <td>michael@gmail.com</td>        </tr>      </tbody>    </table>  </div></div>JS<script>    $(function(){        $.fn.bootstrapSwitch.defaults.onColor = 'success';        $.fn.bootstrapSwitch.defaults.offColor = 'danger';        $.fn.bootstrapSwitch.defaults.size = 'mini';        $.fn.bootstrapSwitch.defaults.state = 'false';        $.fn.bootstrapSwitch.defaults.inverse = 'true';        $(".toggle-vis").bootstrapSwitch();            var table = $('#example').DataTable();        $('.toggle-vis').on('switchChange.bootstrapSwitch', function(event, state) {            event.preventDefault();            var column = table.column($(this).attr('data-column'));            column.visible( ! column.visible() );        });    });</script>
查看完整描述

2 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

关于为什么它不像您正在复制的那样运行,我认为有 3 个原因。
第一:原作者包含了使其工作所需的链接。他在jsfiddle左侧添加了它Resources url
第二:原作者input在他的代码中包含了成为切换按钮的元素。
第三:在原作者中,input:checkbox他包含了data-label-text="Position"哪个值应该等于以0.开头的列号。

所以如果你想使用作者代码的全部功能,你需要查看它如何工作的每个细节。你可以检查这个jsfiddle https://jsfiddle.net/u9h5k048/10/
这是你需要在jsfiddle资源中添加的链接
https://cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js
https://cdn.datatables.net/plug-ins/1.10.7/integration/bootstrap/3/dataTables.bootstrap.js
https://cdn.datatables.net/plug-ins/1.10.7/integration/bootstrap/3/dataTables.bootstrap.css
https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css
https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.2/css/bootstrap2/bootstrap-switch.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.2/js/bootstrap-switch.min.js

查看完整回答
反对 回复 2021-06-11
?
慕容3067478

TA贡献1773条经验 获得超3个赞

你应该添加 toggle-vis 元素


<input 

      type="checkbox" 

      data-column="0" 

      class="toggle-vis" 

      data-label-text="ID" 

      checked/>

    <input 

      type="checkbox" 

      data-column="1" 

      class="toggle-vis" 

      data-label-text="Name" 

      checked>

    <input 

      type="checkbox" 

      data-column="2" 

      class="toggle-vis" 

      data-label-text="Position" 

      checked/>  


查看完整回答
反对 回复 2021-06-11
  • 2 回答
  • 0 关注
  • 297 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信