Ztree行政地区树状展示

Ztree行政地区树状展示

Ztree行政地区树状展示(点击加载) 效果如下:

 

开始贴代码:

实体类 Item,用于对Ztree的节点展示

1

2

3

4

5

6

7

8

public class Item {

    private String id;

    private String pId;

    private String name;

    private int type;

    private String isParent;

        //getters、setters

}

  

通过业务代码获取加载的对象:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

@RequestMapping("/province/showProvince"

@ResponseBody

public List<Item> showProvince(HttpServletRequest request,Model model){ 

    List<Province> all = provinceService.getAll();

    List<Item> list = new ArrayList<Item>(all.size());

    for(Province p : all){

        Item item = new Item();

        item.setId(p.getCode());

        item.setpId("0");

        item.setName(p.getProvinceName());

        item.setIsParent("true");

        item.setType(0);

        list.add(item);

    }

       return list; 

  }

关键看页面的脚本和实现:

页面代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

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

<title>Insert title here</title>

<link rel="stylesheet" href="css/demo.css" type="text/css" />

<link rel="stylesheet" href="css/zTreeStyle/zTreeStyle.css" type="text/css" />

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

<script type="text/javascript" src="js/menu.js"></script>

<script type="text/javascript" src="js/jquery.ztree.core-3.5.js"></script>

 

</head>

<body>

    <div class="zTreeDemoBackground left">

        <ul id="tree" class="ztree"></ul>

    </div>

</body>

</html>

menu.js

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

var menu = {

    setting : {

        data : {

            simpleData : {

                enable : true

            }

        },

        keep : {

            parent : true

        },

        /*

         * view : { dblClickExpand : false },

         */

        callback : { // 回调函数

            onExpand : addNode,

            onClick : addNode

        }

    },

 

    loadMenuTree : function() {

        $.post("province/showProvince.do"null, function(data) {

            $.fn.zTree.init($("#tree"), menu.setting, data);

        });

    }

};

$().ready(function() {

    menu.loadMenuTree();

});

 

function addNode(event, treeId, treeNode, clickFlag) {

    var zTree = $.fn.zTree.getZTreeObj("tree");

    if (treeNode.isParent && typeof (treeNode.children) == "undefined") {

        var type = treeNode.type;

        var parameter = {

            pId : treeNode.id

        };

        if (type == 0) {

            $.post("city/showCity.do", parameter, function(data) {

                zTree.addNodes(treeNode, data);

            });

        }

        if (type == 1) {

            $.post("county/showCounty.do", parameter, function(data) {

                zTree.addNodes(treeNode, data);

            });

        }

    }

}

其中onExpand : addNode,  onClick : addNode 两个回调函数,分别是在点击折叠按钮和节点时,异步加载子节点的内容,onDblClick添加回调函数时,发现会触发onExpand 事件,是因为zTree双击时触发onExpand事件,所以在setting中设置 view : { dblClickExpand : false } 可关闭这个默认设置。

最后,提供一个zTree的在线api: http://www.treejs.cn/v3/api.php

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值