Django+ layui 获取树形菜单所有选中的值

 

 

 

 接口返回值 json

复制代码
{
    "result": [
        {
            "title": "用户【】",
            "id": 1,
            "field": "",
            "spread": true,
            "children": [
                {
                    "title": "管理员【/admin/User/index】",
                    "id": 2,
                    "field": "",
                    "spread": true,
                    "checked": true,
                    "children": [
                        {
                            "title": "管理员添加【/admin/User/add】",
                            "id": 3,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "管理员编辑【/admin/User/edit】",
                            "id": 4,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "管理员删除【/admin/User/del】",
                            "id": 5,
                            "field": "",
                            "spread": true,
                            "checked": true
                        }
                    ]
                }
            ]
        },
        {
            "title": "教务教学【】",
            "id": 6,
            "field": "",
            "spread": true,
            "children": [
                {
                    "title": "老师管理【/admin/Teacher/index】",
                    "id": 7,
                    "field": "",
                    "spread": true,
                    "checked": true,
                    "children": [
                        {
                            "title": "老师添加【/admin/Teacher/add】",
                            "id": 18,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "老师编辑【/admin/Teacher/edit】",
                            "id": 19,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "老师删除【/admin/Teacher/del】",
                            "id": 20,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "重置密码【/admin/Teacher/reset_password】",
                            "id": 21,
                            "field": "",
                            "spread": true,
                            "checked": true
                        }
                    ]
                },
                {
                    "title": "课程管理【/admin/Course/index】",
                    "id": 8,
                    "field": "",
                    "spread": true,
                    "checked": true,
                    "children": [
                        {
                            "title": "课时添加【/admin/Course/ke_shi】",
                            "id": 35,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "课时编辑【/admin/Course/ke_shi_edit】",
                            "id": 36,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "课时删除【/admin/Course/course_del】",
                            "id": 37,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "时长添加【/admin/Course/shi_chang】",
                            "id": 38,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "时长编辑【/admin/Course/shi_chang_edit】",
                            "id": 39,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "时长删除【/admin/Course/course_del】",
                            "id": 40,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "一对一添加【/admin/Course/yi_dui_yi】",
                            "id": 41,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "一对一编辑【/admin/Course/yi_dui_yi_edit】",
                            "id": 42,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "一对一删除【/admin/Course/course_del】",
                            "id": 43,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "课次添加【/admin/Course/ke_ci】",
                            "id": 44,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "课次编辑【/admin/Course/ke_ci_edit】",
                            "id": 45,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "课次删除【/admin/Course/course_del】",
                            "id": 46,
                            "field": "",
                            "spread": true,
                            "checked": true
                        }
                    ]
                },
                {
                    "title": "报名【/admin/Signup/index】",
                    "id": 9,
                    "field": "",
                    "spread": true,
                    "checked": true
                },
                {
                    "title": "学员管理【/admin/Student/index】",
                    "id": 15,
                    "field": "",
                    "spread": true,
                    "checked": true
                }
            ]
        },
        {
            "title": "角色管理【】",
            "id": 10,
            "field": "",
            "spread": true,
            "children": [
                {
                    "title": "角色列表【/admin/Roles/index】",
                    "id": 11,
                    "field": "",
                    "spread": true,
                    "checked": true,
                    "children": [
                        {
                            "title": "添加角色【/admin/Roles/add】",
                            "id": 22,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "编辑角色【/admin/Roles/edit】",
                            "id": 23,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "删除角色【/admin/Roles/del】",
                            "id": 24,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "授权【/admin/Roles/node_list】",
                            "id": 25,
                            "field": "",
                            "spread": true,
                            "checked": true
                        }
                    ]
                }
            ]
        },
        {
            "title": "节点管理【】",
            "id": 12,
            "field": "",
            "spread": true,
            "children": [
                {
                    "title": "节点列表【/admin/Node/index】",
                    "id": 13,
                    "field": "",
                    "spread": true,
                    "checked": true
                },
                {
                    "title": "节点添加【/admin/Node/add】",
                    "id": 14,
                    "field": "",
                    "spread": true,
                    "checked": true
                }
            ]
        },
        {
            "title": "系统设置【】",
            "id": 16,
            "field": "",
            "spread": true,
            "children": [
                {
                    "title": "学校管理设置【/admin/Schoolmanager/index】",
                    "id": 17,
                    "field": "",
                    "spread": true,
                    "checked": true,
                    "children": [
                        {
                            "title": "科目添加【/admin/Schoolmanager/subject】",
                            "id": 26,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "科目删除【/admin/Schoolmanager/subject_del】",
                            "id": 27,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "科目编辑【/admin/Schoolmanager/subject_edit_form】",
                            "id": 28,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "年级添加【/admin/Schoolmanager/grade】",
                            "id": 29,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "年级编辑【/admin/Schoolmanager/grade_edit_form】",
                            "id": 30,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "年级删除【/admin/Schoolmanager/grade_del】",
                            "id": 31,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "教室添加【/admin/Schoolmanager/room】",
                            "id": 32,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "教室编辑【/admin/Schoolmanager/room_edit_form】",
                            "id": 33,
                            "field": "",
                            "spread": true,
                            "checked": true
                        },
                        {
                            "title": "教室删除【/admin/Schoolmanager/room_del】",
                            "id": 34,
                            "field": "",
                            "spread": true,
                            "checked": true
                        }
                    ]
                }
            ]
        }
    ]
}
复制代码

django代码

复制代码
# 节点管理--节点列表-json node/node_json_list
def node_json_list(request):
    node_info = Node.objects.filter(pid=0).all()
    data1 = []
    for C1 in node_info:
        dic1 = {}
        dic1['title'] = C1.title + '' + C1.href + ''
        dic1['id'] = C1.id
        dic1['field'] = ''
        dic1['spread'] = True
        data1.append(dic1)
        children2 = Node.objects.filter(pid=C1.id).all()
        data2 = []
        for C2 in children2:
            dic2 = {}
            dic2['title'] = C2.title + '' + C2.href + ''
            dic2['id'] = C2.id
            dic2['field'] = ''
            dic2['spread'] = True
            dic2['checked'] = True
            data2.append(dic2)
            # print(data2)
            dic1['children'] = data2
            children3 = Node.objects.filter(pid=C2.id).all()
            data3 = []
            for C3 in children3:
                dic3 = {}
                dic3['title'] = C3.title + '' + C3.href + ''
                dic3['id'] = C3.id
                dic3['field'] = ''
                dic3['spread'] = True
                dic3['checked'] = True
                data3.append(dic3)
                dic2['children'] = data3
    return JsonResponse({'result': data1})
复制代码

layui 界面

复制代码
<script>
    layui.config({
        base: '/static/admin/layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index' //主入口模块
    }).use(['index', 'table','jquery','form','tree','util'], function(){
        var table = layui.table,
       
        form = layui.form;
         tree = layui.tree;
         util = layui.util;
        $ = layui.$;
        
        
        tree.render({
            elem: '#test12'
            ,data:getData()
            ,showCheckbox: false  //是否显示复选框
            ,id: 'demoId1'
            ,isJump: false //是否允许点击节点时弹出新窗口跳转
            // ,click: function(obj){
            //     var data = obj.data;  //获取当前点击的节点数据
            //     layer.msg('状态:'+ obj.state + '<br>节点数据:' + JSON.stringify(data));
            // }
        });

        //按钮事件
        util.event('lay-demo', {
            getChecked: function(othis){
                var checkedData = tree.getChecked('demoId1'); //获取选中节点的数据

                // layer.alert(JSON.stringify(checkedData), {shade:0});
                // console.log(checkedData);
                window.location.href="/polls/node/add";
            }
            ,setChecked: function(){
                tree.setChecked('demoId1', [12, 16]); //勾选指定节点
            }
            ,reload: function(){
                //重载实例
                tree.reload('demoId1', {

                });

            }



        });
  });
    function getData() {
        var data = [];
        $.ajax({
            url:"/polls/node/json_list",     //后台数据请求地址
            type: "post",
            async: false,
            success: function (resut) {
             // console.log(resut.result);
                data = resut.result;
                // console.log(data);
            }
        });
        //console.log(data);
        return data;
    }
    

</script>
复制代码

 

posted @   搬砖小伙子  阅读(277)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示