thinkphp + layui 三级联动

该博客展示了如何在后台和前端使用PHP和layui实现三级联动的分类选择。后端通过查询PID为0的分类数据,返回给前端,前端利用layui的form模块和jQuery AJAX动态加载二级和三级分类选项。当用户选择一级分类时,二级分类更新;选择二级分类时,三级分类随之更新。此功能常用于商品管理系统的分类选择中。
摘要由CSDN通过智能技术生成

后端:

// 添加数据
    public function add(){
        // 查询分类数据
        $category = \app\admin\model\Category::where('pid',0)->select();
        // 渲染到页面
        return view('add',compact('category'));
    }
    // 三级联动 查询数据
    public function getPid($pid){
        $data = \app\admin\model\Category::where('pid',$pid)->select();
        return json(['code'=>0,'msg'=>'查询成功','data'=>$data]);
    }

前台表单:

<div class="layui-form-item">
        <label class="layui-form-label">三级联动商品分类</label>
        <div class="layui-input-inline">
            <select name="" lay-filter="cate_one" id="cate_one">
                <option value="0">请选择一级分类</option>
                {foreach($category as $v)}
                    <option value="{$v.id}">{$v.cate_name}</option>
                {/foreach}
            </select>
        </div>
        <div class="layui-input-inline">
            <select name="" lay-filter="cate_two" id="cate_two">
                <option value="">请选择二级分类</option>
            </select>
        </div>
        <div class="layui-input-inline">
            <select name="cate_name" lay-filter="cate_three" id="cate_three">
                <option value="">请选择三级分类</option>
            </select>
        </div>
        <div class="layui-form-mid layui-word-aux">请选择商品分类</div>
    </div>

layui部分

<script>

    //Demo
    layui.use(['form','jquery'], function(){
        var form = layui.form;
        var $ = layui.jquery;

        // 三级分类
        form.on('select(cate_one)',function (data) {
            var pid = data.value;
            console.log(pid);
            $.ajax({
                url:'getPid',
                data:{pid:pid},
                success:function (e) {
                    $("#cate_three").empty()
                    $item ='<option value="">请选择</option>'
                    $(e.data).each(function (k,v) {
                        $item +=' <option value="'+v.id+'">'+v.cate_name+'</option>'
                    })
                    $('#cate_two').html($item);
                    form.render();
                }
            })
        });
        // 三级分类
        form.on('select(cate_two)',function (data) {
            var pid = data.value;
            console.log(pid);
            $.ajax({
                url:'getPid',
                data:{pid:pid},
                success:function (e) {
                    // $("#cate_three").empty()
                    $item ='<option value="">请选择</option>'
                    $(e.data).each(function (k,v) {
                        $item +=' <option value="'+v.id+'">'+v.cate_name+'</option>'
                    })
                    $('#cate_three').html($item);
                    form.render();
                }
            })
        });
    });
</script>

记得应用layui的css和js

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值