您好,登錄后才能下訂單哦!
利用ThinkPHP怎么實現一個批量刪除功能?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
HTML布局(基于bootstrap)
<div class="panel panel-default"> <div class="panel-heading"> 留言列表 <a class="btn btn-xs btn-default pull-right" href="javascript:window.history.back();">返回</a> <a class="btn btn-xs btn-info pull-right mr-5" id="discard" href="javascript:;">刪除</a> </div> <table class="table"> <thead> <tr> <th><input class="all" type="checkbox"/></th> <th>id</th> <th>名稱</th> <th>郵箱</th> <th>內容</th> <th>日期時間</th> <th>操作</th> </tr> </thead> <tbody> <form> <volist name="list" id="vo" empty="$empty"> <tr> <td><input name="delete[]" type="checkbox" value="{$vo.id}" /></td> <td>{$vo.id}</td> <td>{$vo.name}</td> <td>{$vo.email}</td> <td>{$vo.subject}</td> <td>{$vo.datetime|date="Y-m-d H:i", ###}</td> <td> <a class="delete" href="javascript:;" data-id="{$vo.id}">刪除</a> </td> </tr> </volist> </form> </tbody> </table> </div>
JS腳本處理(使用ajax技術)
首先判斷有沒有選中的值,如果沒有則提示;如果有,則傳遞到服務器端處理
/* 批量刪除 */ // 全選 $('.all').click(function() { if($(this).is(':checked')) { $(':checkbox').attr('checked', 'checked'); } else { $(':checkbox').removeAttr('checked'); } }); // 刪除操作 $('#discard').click(function() { if($(':checked').size() > 0) { layer.confirm('確定要刪除嗎?', { btn: ['確定','取消'], //按鈕 shade: false //不顯示遮罩 }, function(){ $.post("{:U('Single/discard')}", {data: $('form').serializeArray()}, function(res) { if(res.state == 1) { layer.msg(res.message, {icon: 1, time: 1000}); } else { layer.msg(res.message, {icon: 2, time: 1000}); } setTimeout(function() { location.reload(); }, 1000); }); }, function(){ layer.msg('取消了刪除!', {time: 1000}); }); } else { layer.alert('沒有選擇!'); } });
PHP代碼:
獲取提交的數據,然后循環得到每一個id的值,接著進行刪除操作。
public function discard() { $contact = M('contact'); $deleteArr = I('post.data'); for($i=0;$i<count($deleteArr);$i++) { $contact->delete($deleteArr[$i]['value']); } $this->ajaxReturn(array('message'=>'刪除成功!')); }
看完上述內容,你們掌握利用ThinkPHP怎么實現一個批量刪除功能的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。