1. 程式人生 > >生成 jqueryeasy UL Li巢狀的選單樹

生成 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>