AJAX多选删除的思路是通过控制器从后台删除数据,然后前台的数据是不会刷新的,我们需要用jQuery把前台的数据也删掉。
首先,引用jquery
- <script src="{{asset('lib/js/jquery-2.0.3.min.js')}}"></script>
然后,写出一个个的复选框,其中之一是这样
- ...
- <tr>
- <td><input type="checkbox" name="chk" class="chk" value="{{$c->id}}"></td>
- <td>{{$c->user->name}}</td>
- </tr>
- ...
接着,写出全选/反选功能和删除按钮
- <input type="checkbox" name="allcheck" id="all" value="0">
- <input type="submit" class="btn btn-danger" id='deletesome' value="删除选中">
- <input type="hidden" name="delete" id='delete' value=""> //他负责存放勾选的复选框中的VALUE
最后,我们来写JS,这里是多选删除
- $(function(){
- $("#deletesome").click(function(){
- $.ajax({
- url:"/deletesuggestionsajax",
- type:"get",
- dataType:"json",
- data:"delete="+$(this).next().val(),
- success:function(data){
- if(data.status == 1){
- $(":checked").parent().parent().remove(); //删除所有选中的,用的时候注意删除对象的正确选择
- }else{
- alert('系统故障');
- }
- }
- });
- });
- })
这里是单个的删除,就是在每条后面跟个删除按钮,那时候用这个
- $(function(){
- $(".ajaxdelete").click(function(){
- // console.log($(this).next().val());
- var me=this; //先做个闭包,否则在success里不能用$(this)
- $.ajax({
- url:"/deletesuggestionajax",
- type:"get",
- dataType:"json",
- data:"id="+$(this).next().val(),
- success:function(data){
- if(data.status == 1){
- $(me).parent().parent().remove(); //删除当前的这个
- }else{
- alert('系统故障');
- }
- }
- });
- });
- })