zoukankan      html  css  js  c++  java
  • 原生JavaScript树形菜单(递归算法)

    <!DOCTYPE html>
    <html lang="en" id="box">
    <head>
      <meta charset="UTF-8">
      <title>树形菜单</title>
    </head>

    <body>
     
        <script type="text/javascript">
            $(function () {
                var menuArry = [
                { id: 1, name: "办公管理", pid: 0 },
                { id: 2, name: "请假申请", pid: 1 },
                { id: 3, name: "出差申请", pid: 1 },
                { id: 4, name: "请假记录", pid: 2 },
                { id: 5, name: "系统设置", pid: 0 },
                { id: 6, name: "权限管理", pid: 5 },
                { id: 7, name: "用户角色", pid: 6 },
                { id: 8, name: "菜单设置", pid: 6 },
                ];
     
                GetData(0, menuArry)
                $("body").append(menus);
            });
     
            //菜单列表html
            var menus = '';
     
            //根据菜单主键id生成菜单列表html
            //id:菜单主键id
            //arry:菜单数组信息
            function GetData(id, arry) {
                var childArry = GetParentArry(id, arry);
                if (childArry.length > 0) {
                    menus += '<ul>';
                    for (var i in childArry) {
                        menus += '<li>' + childArry[i].name;
                        GetData(childArry[i].id, arry);
                        menus += '</li>';
                    }
                    menus += '</ul>';
                }
            }
     
            //根据菜单主键id获取下级菜单
            //id:菜单主键id
            //arry:菜单数组信息
            function GetParentArry(id, arry) {
                var newArry = new Array();
                for (var i in arry) {
                    if (arry[i].pid == id)
                        newArry.push(arry[i]);
                }
                return newArry;
            }
        </script>
    </body>
    </html>
    

      

    转自: https://www.cnblogs.com/tangyifeng/p/7364727.html

  • 相关阅读:
    javascript 解析json数据
    解析 对象列表的JSON数据 []、[{}] 中括号
    # 指针
    # 栈内存和堆内存
    # Linux学习笔记
    # jsp及servlet学习笔记
    # Git学习笔记
    # Excel批量处理数据
    # 数学建模算法
    # VsCode 配置C++调试运行
  • 原文地址:https://www.cnblogs.com/hitwgs/p/9117152.html
Copyright © 2011-2022 走看看