zTree实例

 首先下载zTree 3.0的jar包(JQuery zTree v3.0.zip),导入下面引用的相关js 

1、数据在页面获取。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<%
    String path = request.getContextPath();
   String basePath = request.getScheme() + "://"
     + request.getServerName() + ":" + request.getServerPort()
     + path + "/";
%>
<base href="<%=basePath%>">
<link rel="stylesheet" href="<%=basePath%>css/demo.css" type="text/css">
 <link rel="stylesheet" href="<%=basePath%>css/zTreeStyle/zTreeStyle.css" type="text/css">
 <script type="text/javascript" src="<%=basePath%>js/jquery-1.4.4.min.js"></script>
 <script type="text/javascript" src="<%=basePath%>js/jquery.ztree.core-3.0.js"></script>
 <script type="text/javascript" src="<%=basePath%>js/jquery.ztree.excheck-3.0.js"></script>
 <!--
 <script type="text/javascript" src="../../../js/jquery.ztree.exedit-3.0.js"></script>
 -->
 <SCRIPT type="text/javascript">
  <!--
  var setting = {
   check: {
    enable: true
   },
   data: {
    simpleData: {
     enable: true
    }
   }
  };

  var zNodes =[
   { id:1, pId:0, name:"随意勾选 1", open:true},
   { id:11, pId:1, name:"随意勾选 1-1", open:true},
   { id:111, pId:11, name:"随意勾选 1-1-1"},
   { id:112, pId:11, name:"随意勾选 1-1-2"},
   { id:12, pId:1, name:"随意勾选 1-2", open:true},
   { id:121, pId:12, name:"随意勾选 1-2-1"},
   { id:122, pId:12, name:"随意勾选 1-2-2"},
   { id:2, pId:0, name:"随意勾选 2", checked:true, open:true},
   { id:21, pId:2, name:"随意勾选 2-1"},
   { id:22, pId:2, name:"随意勾选 2-2", open:true},
   { id:221, pId:22, name:"随意勾选 2-2-1", checked:true},
   { id:222, pId:22, name:"随意勾选 2-2-2"},
   { id:23, pId:2, name:"随意勾选 2-3"}
  ];
  
  var code;
  
  function setCheck() {
   var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
   py = $("#py").attr("checked")? "p":"",
   sy = $("#sy").attr("checked")? "s":"",
   pn = $("#pn").attr("checked")? "p":"",
   sn = $("#sn").attr("checked")? "s":"",
   type = { "Y":py + sy, "N":pn + sn};
   zTree.setting.check.chkboxType = type;
   showCode('setting.check.chkboxType = { "Y" : "' + type.Y + '", "N" : "' + type.N + '" };');
  }
  function showCode(str) {
   if (!code) code = $("#code");
   code.empty();
   code.append("<li>"+str+"</li>");
  }
  
  $(document).ready(function(){
   $.fn.zTree.init($("#treeDemo"), setting, zNodes);
   setCheck();
   $("#py").bind("change", setCheck);
   $("#sy").bind("change", setCheck);
   $("#pn").bind("change", setCheck);
   $("#sn").bind("change", setCheck);
  });
  //-->
 </SCRIPT>
</HEAD>

<BODY>
<h1>Checkbox 勾选操作</h1>
<h6></h6>
<div class="content_wrap">
 <div class="zTreeDemoBackground left">
  <ul id="treeDemo" class="ztree"></ul>
 </div>
 
</div>

</body>
</html>

2、数据从后台获取。

1)页面

<title>Insert title here</title>
<%
    String path = request.getContextPath();
   String basePath = request.getScheme() + "://"
     + request.getServerName() + ":" + request.getServerPort()
     + path + "/";
%>
<base href="<%=basePath%>">
<link rel="stylesheet" href="<%=basePath%>css/demo.css" type="text/css">
<link rel="stylesheet" href="<%=basePath%>css/zTreeStyle/zTreeStyle.css"
 type="text/css">
<script type="text/javascript" src="<%=basePath%>js/jquery-1.4.4.min.js"></script>
<script type="text/javascript"
 src="<%=basePath%>js/jquery.ztree.core-3.0.js"></script>
<script type="text/javascript"
 src="<%=basePath%>js/jquery.ztree.excheck-3.0.js"></script>
<SCRIPT type="text/javascript">

 
  
   var setting = {
    check: {
     enable: true
    },
    data: {
     simpleData: {
      enable: true
     }
    }
   };
   
 var zTree;
 var treeNodes;
 var code;

 $(function() {
  $.ajax({
   async : false,
   cache : false,
   type : "POST",
   dataType : "String",
   url : "menu.action",//恳求的action路径
   error : function() {//恳求失败处理惩罚函数
    alert("恳求失败");
   },
   success : function(data) { //恳求成功后处理惩罚函数。
    alert(data);
    
    // console.log(data); // 火狐在后台打印的日志。
    treeNodes = data; //把后台封装好的简单Json格局赋给treeNodes
   }
  });

  //将string类型转换成json
   treeNodes = eval("(" + treeNodes + ")"); 
  
  zTree = $.fn.zTree.init($("#treeMenu"), setting, treeNodes);
  
 }); 
 
</SCRIPT>
</HEAD>

<BODY>
 <h1>Checkbox 勾选操作</h1>
 <h6></h6>
 <div class="content_wrap">
  <div class="zTreeDemoBackground left">
   <ul id="treeMenu" class="ztree"></ul>
  </div>
 </div>
</body>
</html>

2)后台

/**
     *
     * 查询所有菜单。
     *
     * @return String
     */
    public String queryAllMenu()
    {
        List<String> lstTree = new ArrayList<String>();
        listMenu = this.menuService.queryMenu();
        HttpServletResponse response = ServletActionContext.getResponse();
       
        for (MenuInfo menu : listMenu)
        {
            String strMenu = null;
          
            strMenu = "{id:" + menu.getMenuId() + "," + "pId:"
                + menu.getParentMenuId() + "," + "name:"
                + "'"+menu.getMenuName()+"'" +","+ "open:true" + "}";
           
            lstTree.add(strMenu);
        }
        printWriter(response, JSONArray.fromObject(lstTree).toString());
        return "success";
    }

    /**
     *
     * Description:将字符串写入Http响应 <br>
     *
     * @param response
     *            response
     * @param outStr
     *            outStr
     * @see
     */
    private void printWriter(HttpServletResponse response, String outStr)
    {
        // 返回拼裝的数据
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html");
        PrintWriter out = null;
        try
        {
            out = response.getWriter();
            out.print(outStr);
        }
        catch (IOException e)
        {
            DEBUGGER.error(e.toString());
        }
        finally
        {
            if (null != out)
            {
                out.close();
            }
        }
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值