toolbar.html 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <title>开启头部工具栏 - 数据表格</title>
  2. <div class="layui-card layadmin-header">
  3. <div class="layui-breadcrumb" lay-filter="breadcrumb">
  4. <a lay-href="">主页</a>
  5. <a><cite>组件</cite></a>
  6. <a><cite>数据表格</cite></a>
  7. <a><cite>开启头部工具栏</cite></a>
  8. </div>
  9. </div>
  10. <div class="layui-fluid">
  11. <div class="layui-row layui-col-space15">
  12. <div class="layui-col-md12">
  13. <div class="layui-card">
  14. <div class="layui-card-header">开启头部工具栏</div>
  15. <div class="layui-card-body">
  16. <table class="layui-hide" id="test-table-toolbar" lay-filter="test-table-toolbar"></table>
  17. <script type="text/html" id="test-table-toolbar-toolbarDemo">
  18. <div class="layui-btn-container">
  19. <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
  20. <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
  21. <button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
  22. </div>
  23. </script>
  24. <script type="text/html" id="test-table-toolbar-barDemo">
  25. <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
  26. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
  27. </script>
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32. </div>
  33. <script>
  34. layui.use(['admin', 'table'], function(){
  35. var admin = layui.admin
  36. ,table = layui.table;
  37. table.render({
  38. elem: '#test-table-toolbar'
  39. ,url:'./json/table/demo.js'
  40. ,toolbar: '#test-table-toolbar-toolbarDemo'
  41. ,title: '用户数据表'
  42. ,cols: [[
  43. {type: 'checkbox', fixed: 'left'}
  44. ,{field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true}
  45. ,{field:'username', title:'用户名', width:120, edit: 'text'}
  46. ,{field:'email', title:'邮箱', width:150, edit: 'text', templet: function(res){
  47. return '<em>'+ res.email +'</em>'
  48. }}
  49. ,{field:'sex', title:'性别', width:80, edit: 'text', sort: true}
  50. ,{field:'city', title:'城市', width:100}
  51. ,{field:'sign', title:'签名'}
  52. ,{field:'experience', title:'积分', width:80, sort: true}
  53. ,{field:'ip', title:'IP', width:120}
  54. ,{field:'logins', title:'登入次数', width:100, sort: true}
  55. ,{field:'joinTime', title:'加入时间', width:120}
  56. ,{fixed: 'right', title:'操作', toolbar: '#test-table-toolbar-barDemo', width:150}
  57. ]]
  58. ,page: true
  59. });
  60. //头工具栏事件
  61. table.on('toolbar(test-table-toolbar)', function(obj){
  62. var checkStatus = table.checkStatus(obj.config.id);
  63. switch(obj.event){
  64. case 'getCheckData':
  65. var data = checkStatus.data;
  66. layer.alert(JSON.stringify(data));
  67. break;
  68. case 'getCheckLength':
  69. var data = checkStatus.data;
  70. layer.msg('选中了:'+ data.length + ' 个');
  71. break;
  72. case 'isAll':
  73. layer.msg(checkStatus.isAll ? '全选': '未全选');
  74. break;
  75. };
  76. });
  77. //监听行工具事件
  78. table.on('tool(test-table-toolbar)', function(obj){
  79. var data = obj.data;
  80. if(obj.event === 'del'){
  81. layer.confirm('真的删除行么', function(index){
  82. obj.del();
  83. layer.close(index);
  84. });
  85. } else if(obj.event === 'edit'){
  86. layer.prompt({
  87. formType: 2
  88. ,value: data.email
  89. }, function(value, index){
  90. obj.update({
  91. email: value
  92. });
  93. layer.close(index);
  94. });
  95. }
  96. });
  97. });
  98. </script>