生成 jqueryeasy UL Li嵌套的菜单树

 

/*
     * $node 查询数据库之后的结果集
     * $cen 循环到第几层
     * $pid 父级的id,第一级的父级默认为 0
     * 目的:生成 UL Li嵌套的菜单树
     */
        private function mergeTree($node,$cen= 1,$parent_id=0){
            $tree="<ul ";
            if($cen==1){
                $tree.="class='easyui-tree'";
            }
            $tree.=">";
            foreach($node as $v) {

                if($v['parent_id']==$parent_id){
                    $tree.="<li>";
                    $tree.="<span>";
                    $tree.=$v["title"];
                    $tree.="</span>";
                    $have_next=false;
                    foreach($node as $n){
                        if($n["parent_id"]==$v["id"]){
                            $have_next=true;
                        }
                    }
                    if($have_next){
                        $cen+= 1;
                        $tree.=$this->mergeTree($node,$cen,$v["id"]);
                    }
                    $tree.="</li>";
                }

            }
            return $tree."</ul>";
        }
传入数据生成的html是下面这样的
<ul class="easyui-tree">
   <li>
      <span>某某总公司</span>
      <ul>
         <li>
            <span>职能部门</span>
            <ul>
               <li><span>人力资源部</span></li>
               <li><span>业务系统部</span></li>
               <li><span>财务部</span></li>
               <li><span>董事会</span></li>
            </ul>
         </li>
         <li>
            <span>国内事业部</span>
            <ul>
               <li><span>北京分公司</span></li>
               <li><span>上海分公司</span></li>
               <li><span>杭州分公司</span></li>
            </ul>
         </li>
         <li>
            <span>海外事业部</span>
            <ul>
               <li><span>纽约事业部</span></li>
               <li><span>硅谷事业部</span></li>
               <li><span>欧盟事业部</span></li>
               <li><span>东南亚事业部</span></li>
            </ul>
         </li>
      </ul>
   </li>
</ul>
发布了94 篇原创文章 · 获赞 4 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/chendongpu/article/details/83446086