PHP +ajax + layui 实现删除列表功能

不废话,直接上代码在这里插入图片描述

jquery代码
//给特定的函数绑定上删除事件
$(document).on(‘click’, ‘.delete_adapay’, function() {
event.preventDefault();
var anchor = $(this).closest(‘a’);
// 获取 标签的参数值
var id = anchor.attr(‘data_id’);

      	console.log(id)


      	//获取门店id的多选框的值
		var obj = document.getElementsByName("s_id");
	    var checkList = [];
	    for(k in obj){
	        if(obj[k].checked)
	            checkList.push(obj[k].value);
	    }

	    //获取选择列表中的门店属性值
	    var arr1 = [];
	    $("input[name='title']").each(function(){
            arr1.push($(this).val());
        })
        // console.log(arr1);

        //获取选择列表中的账户属性值
	    var arr2 = [];
	    $("input[name='adapay']").each(function(){
            arr2.push($(this).val());
        })
        // console.log(arr2);
        var arr3 = [];
	    $("input[name='ids']").each(function(){
            arr3.push($(this).val());
        })
        // console.log(arr3);


		var adapay = $('#adapay').val();
      	//添加上ajax请求
      	$.ajax({
            url:'/admin/shop/association_del',
            type:'post',
            data:{
            	id:id,
            	adapay:adapay,
            	s_id:checkList,
            	s_id_old:arr1,
            	adapay_old:arr2,
            	ids:arr3
            },
            dataType:"json",
            success:function(data){
                document.getElementById('table-data').innerHTML = data.data;
            }
        });

	});
php代码部分

//删除功能
public function association_del()
{
    $request = $this->request-> param();
    $id_jian = $request['id'];
    // dump($request);die; 
    //查询出所要拼接的字符串的项
    $s_ids = isset($request['s_id'])?$request['s_id']:[];
    $where['id'] = array('in',$s_ids);
    $store = Db::name('shop_store')->where($where)->select();

    $adapay = Db::name('adapay_user')->where(['id'=> $request['adapay']])->find();

    $string1 = '<div class="layui-card-body layui-table-body layui-table-main">
                            <table class="layui-table">
                                <thead>
                                    <tr>
                                        <th>门店</th>
                                        <th>账户</th>
                                        <th>操作</th>
                                    </tr>
                                </thead>
                                <tbody>';
                                    
    $string3 = '</tbody>
               </table>
             </div>';


    //对新旧字符串进行处理和分析
    //拼接字符串
    $string2 = '';


    //第一次传值
    if(!isset($request['s_id_old']) && !isset($request['adapay_old'])){
        $id = -1;
        foreach($store as $value){
            
            $string2 = $string2 . '<tr><td><input type="hidden" name="ids" value="'.$id.'" style=" display:none"><input type="text" name="title" value="'.$value["id"].'" style=" display:none">'.$value["title"].'</input></td><td><input type="text" name="adapay" value="'.$adapay["id"].'" style=" display:none">'.$adapay["name"].'</td><td><a href="javascript:(0)" class="layui-btn layui-btns ajax-delete delete_adapay" data_id="'.$id.'" style="background: #e90d24;">删除</a></td></tr>';

                $id -- ;
        }
    //后续传值
    }else{
        //拼接旧的关联关系
        //如果是新的有,旧的没有的,就直接以新的为标准
        $new_list1=[];


        //如果两个都有,也就是有需要修改的,会以新的为准
        $new_list2 = [];
        foreach ($s_ids as $key => $value) {
            foreach ($request['s_id_old'] as $key2 => $value2) {
                
                if($s_ids[$key] == $request['s_id_old'][$key2]){
                    $new_list2['store_id'] = $request['s_id_old'][$key2];
                    $new_list2['adapay_id'] = $request['adapay'];
                    $new_list2['ids'] = $request['ids'][$key2];
                    $new_list[] = $new_list2;
                    
                }

            }
        }

        $new_list3 = [];
        //如果是新的没有,旧的有,就按照旧的为准
        foreach ($request['s_id_old'] as $key => $value) {
            if (!in_array($request['s_id_old'][$key],$s_ids)) {
                $new_list3['store_id'] =$request['s_id_old'][$key];
                $new_list3['adapay_id'] =$request['adapay_old'][$key];
                $new_list3['ids'] =$request['ids'][$key];
                $new_list[] = $new_list3;
            }
             
        }

        foreach ($new_list as $key => $value) {

            $store_info = Db::name('shop_store')->where(['id'=>$new_list[$key]['store_id']])->find();
            $adapay_info = Db::name('adapay_user')->where(['id'=>$new_list[$key]['adapay_id']])->find();
            
            $id = $new_list[$key]['ids'];
            if($id !== $id_jian){
                $string2 = $string2 . '<tr><td><input type="hidden" name="ids" value="'.$id.'" style=" display:none"><input type="text" name="title" value="'.$store_info["id"].'" style=" display:none">'.$store_info["title"].'</input></td><td><input type="text" name="adapay" value="'.$adapay_info["id"].'" style=" display:none">'.$adapay_info["name"].'</td><td><a href="#" class="layui-btn delete_adapay ajax-delete" data_id="'.$id.'" style="background: #e90d24;">删除</a></td></tr>';
            }
            
        }
            
    }

    

    $string = $string1.$string2.$string3;

    $res['code'] = 200;
    $res['data'] = $string;

    $this->ajaxReturn($res);
}
  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值