这个表单前端知识是有关于layui的使用 所以需要引入layui的js文件
表单代码
<table class="layui-table" lay-skin="line"> <colgroup> <col width="20"> <col width="100"> <col width=""> <col width="110"> <col width="50"> </colgroup> <thead> <tr> <th colspan="5"> <a href="javascript:document.location.reload()" title="刷新"><button class="layui-btn layui-btn-primary layui-btn-small" type="button">刷新</button></a> <a href="javascriot:;" class="batchDel" title="删除"><button class="layui-btn layui-btn-primary layui-btn-small" type="button">删除</button></a> <a href="javascriot:;" class="delete_completely" title="彻底删除"><button class="layui-btn layui-btn-primary layui-btn-small" type="button">彻底删除</button></a> <a href="javascriot:;" class="important" title="标为重要"><button class="layui-btn layui-btn-primary layui-btn-small" type="button">已读</button></a> <a href="javascriot:;" class="read" title="标为已读"><button class="layui-btn layui-btn-primary layui-btn-small" type="button">重要</button></a> </th> </tr> <tr> <th><input type="checkbox" lay-filter="checkeds" lay-skin="primary"></th> <th>发件人</th> <th>主题</th> <th colspan="2">发件时间</th> </tr> </thead> <tbody> {foreach name="arr" item="v"} <tr> <td class="check-mail"> <input type="checkbox" class="checkone" value="{$v.m_id}" name="m_id[]" lay-skin="primary"> </td> <td>{$v.sender}</a></td> <td><a href="{:url('mail_detail', ['m_id' => $v['m_id']])}">{$v.m_title}</a></td> <td>{$v.m_time || date="Y-m-d",###}</td> <td class="text-c"> {if condition='$v.m_state==2'} <i class="layui-icon tab" tab-attr="a" style="font-size: 18px;color: #1E9FFF;cursor: pointer;"></i> {else} <i class="layui-icon tab" tab-attr="b" style="font-size: 18px;color: #ccc;cursor: pointer;"></i> {/if} </td> </tr> {/foreach} </tbody> </table> js代码layui.use(['form', 'element',], function () { var form = layui.form ,$=layui.$ ,layer=layui.layer; // 全选控制 form.on('checkbox(checkeds)', function(data){ if(data.elem.checked){ $('.checkone').prop('checked',true); }else{ $('.checkone').prop('checked',false); } form.render('checkbox'); });// 删除功能 $('.batchDel').click(function () { layer.confirm('确认要删除吗?', { btn: ['确定', '取消'] //按钮 },function (index){ var d=$('form').serialize(); console.log(d); return false; if(d==''){layer.msg('未选中任何邮件'); return false;} $.ajax({ url:'{:url("mail/mail_batchDel")}', type:'post', data:d, dataType:"json", success:function(data){ if(data.code == 200){ $('input:checkbox[name=m_id]:checked').each(function(i){ $(this).parents("tr").remove(); }); layer.msg(data.msg, {icon: 1, time: 1800}); }else if(data.code==400){ layer.msg(data.msg, {icon: 2, time: 1800}); } } }); }); });
控制器代码//收件箱删除 public function mail_batchDel() { if ($this->request->isAjax()) { $datas = $this->request->post(); $res = Db::table('inbox')->where('m_id', 'in', $datas['m_id'])->update(['m_state' => 3]); if ($res == FALSE) { return ['code' => 400, 'msg' => '删除失败!',]; } $arr = []; foreach ($datas['m_id'] as $v) { $arr[] = [ 'm_id' => $v, 'u_id' => Session::get('userData.id'), 'd_state' => 0, 'd_time' => time(), ]; } Db::table('mail_dustbin')->insertAll($arr); return ['code' => 200, 'msg' => '删除成功!',]; } }