jOrgChart橫向的組織機構樹--手工構造json資料

zengshaotao發表於2016-03-02

<!DOCTYPE html>

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>jOrgChart - A jQuery OrgChart Plugin</title>

    <link rel="stylesheet" href="css/bootstrap.min.css"/>

    <link rel="stylesheet" href="css/jquery.jOrgChart.css"/>

    <link rel="stylesheet" href="css/custom.css"/>

 

    

    <!-- jQuery includes -->

    <script type="text/javascript" src="jquery-1.7.2.min.js"></script>

    <script src="jquery.jOrgChart.js"></script>

 

    <script>

    jQuery(document).ready(function () {

            loadtree();

        });

        //menu_list為json資料

        //parent為要組合成html的容器

 

        function showall(menu_list, parent) {

            for (var menu in menu_list) {

                //如果有子節點,則遍歷該子節點

                if (menu_list[menu].children.length > 0) {

                    //建立一個子節點li

                    var li = $("<li></li>");

                    //將li的文字設定好,並馬上新增一個空白的ul子節點,並且將這個li新增到父親節點中

                    $(li).append(" <a  href='javascript:void(0)'  onclick='xx(" + menu_list[menu].id + ");'>" + menu_list[menu].name + "</a>").append("<ul></ul>").appendTo(parent);

                    //將空白的ul作為下一個遞迴遍歷的父親節點傳入

                    showall(menu_list[menu].children, $(li).children().eq(1));

                }else {

                //如果該節點沒有子節點,則直接將該節點li以及文字建立好直接新增到父親節點中

                    $("<li></li>").append(" <a href='javascript:void(0)' onclick='defineFunc(" + menu_list[menu].id + ");'>" + menu_list[menu].name + "</a>").appendTo(parent);

                }

            }

        }

 

        

        function loadtree() {

var res = [{

   "id": 1,

   "name": "根節點",

   "children": [

       {

           "id": 2,

           "name": "第二層1",

           "data": "",

           "children": ""

       },

       {

           "id": 3,

           "name": "第二層2",

           "data": "",

           "children": ""

       }

   ]

}];

 

//var json = eval("("+res+")");

                    var showlist = $("<ul id='org' style='display:none'></ul>");

                    showall(res, showlist);

                    

                    //將生成好的固定格式的ul

                    $("#f").append(showlist);

                    $("#org").jOrgChart();

                    

                    /*  $("#org").jOrgChart({

           chartElement : "#chart",

           dragAndDrop  : false

       }); */

       

        }

        

        function defineFunc(id){

        alert(id+",ddd");

        }

    </script>

  </head>

 

  <body id="f">

    <div class="topbar">

        <div class="topbar-inner">

            <div class="container">

                <a class="brand" href="#">jQuery Organisation Chart</a>

            </div>

        </div>

    </div>

    

    

    <div id="chart" class="orgChart"></div>

    

    

 

</body>

</html>

相關文章