【笔记】ztree的使用

引用的js和css:

<!-- zTreeJS -->
<script type="text/javascript" src="jquery/jquery-1.7.min.js"></script>
<script type="text/javascript" src="zTree/js/jquery.ztree.core-3.2.js"></script>
<script type="text/javascript" src="zTree/js/jquery.ztree.excheck-3.2.js"></script>
<script type="text/javascript" src="zTree/js/jquery.ztree.exedit-3.2.js"></script>

//异步加载节点
var setting = {
    data: {
        key : {
            name : "name"
        },
        simpleData: {
            enable: true,
            idKey: "id",
            pIdKey: "pId",
            rootPId: 0
        }
    },
    async: {
        //异步加载
        enable: true,
        url:  "${ctx}/admin/learn/course!publicCourseTree.do",
        autoParam : [ "id" ],
        dataType : "json",
        type : "post"
    },
    check : {
        enable : false,
        chkStyle : "radio",
        radioType : "level"
    },
    callback: {
        beforeExpand: beforeExpand,
        onAsyncSuccess: onAsyncSuccess,
        onAsyncError: onAsyncError,
        onClick : function(event, treeId, treeNode) {
            var    courseID = treeNode.id;
            $("#courseID").val(courseID);
            $.post("${ctx}/admin/learn/course!getCourseTreeInfo.do?id="+courseID,
                {"parm":""},
                function(data) {
                    $.each(data, function(i,item) {
                        $("#codeSM").html(item.id);
                        $("#name").html(item.name);
                        $("#flag").val(item.status);
                           $("#description").html(item.description);
                           $("#createtime").html(item.createtime);
                           if(item.status=="1"){
                               $("#updateflag").val("取消发布");
                               $("#status").html("已发布");
                           }else{
                               $("#updateflag").val("发布");
                               $("#status").html("未发布");
                           }
                           if(item.imgurl!=null){
                               $("#img").attr("src","${ctx}/uploads/"+item.imgurl);
                           }else{
                               $("#img").attr("src","");
                           }
                       });
                 }, "json");
           }
    }
};

function beforeExpand(treeId, treeNode) {
if (!treeNode.isAjaxing) {
return true;
} else {
alert("zTree 正在下载数据中,请稍后展开节点。。。");
return false;
}
}
function onAsyncSuccess(event, treeId, treeNode, msg) {


}
function onAsyncError() {
alert(" 数据加载失败");
}

function createTree() {
$.ajax({
url: "${ctx}/admin/learn/course!publicCourseTree.do", //url action是方法的名称
data: { id: -1 },
type: ‘Get‘,
dataType: "json", //可以是text,如果用text,返回的结果为字符串;如果需要json格式的,可是设置为json
success: function (data) {
$.fn.zTree.init($("#_courseTreeSM"), setting, eval(data));
},
error: function (msg) {
alert(" 数据加载失败!" + msg);
}
});
}

$(document).ready(function () {
createTree();
});

//删除
var tree = $.fn.zTree.getZTreeObj("_stationTreeSM");
                            var node = tree.getNodeByParam("ID", response.id, null);
                            tree.removeNode(node);
var node = treeObj.getNodeByParam("ID", response.parentid, null);
//添加
treeObj.addNodes(node, {ID : response.newStationID, NAME : $("#nameAS").val()});
//修改
node.NAME = $(‘#nameAS‘).val();
treeObj.updateNode(node);
public List<Map<String, Object>> getPublicCourseTree(String id, Integer orgID)
    {
        List<Map<String, Object>> list1 = new ArrayList<Map<String, Object>>();
        List<Map<String, Object>> list2 = new ArrayList<Map<String, Object>>();
        if (null == id && !"".equals(id)){
            String hql="SELECT t.id, t.name, t.parentid as pid,t.description,DATE_FORMAT(t.createtime, ‘%Y-%m-%d‘) createtime,t.status,t.imgurl,(SELECT COUNT(t2.id) FROM c_publiccourse_tab t2 WHERE t2.parentid = t.id) coun FROM c_publiccourse_tab t WHERE  t.PARENTID = -1 and t.orgid=‘"+orgID+"‘";
            Query query = super.createSQLQuery(hql).addScalar( "id" , Hibernate.STRING).addScalar( "name" , Hibernate.STRING).addScalar( "pid" , Hibernate.STRING)
                    .addScalar( "description" , Hibernate.STRING).addScalar( "createtime" , Hibernate.STRING).addScalar( "status" , Hibernate.STRING).addScalar( "imgurl" , Hibernate.STRING).addScalar( "coun" , Hibernate.STRING).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
            list1=query.list();
        }else{
            String hql = "SELECT t.id, t.name , t.parentid as pid,t.description,DATE_FORMAT(t.createtime, ‘%Y-%m-%d‘) createtime,t.status,t.imgurl,(SELECT COUNT(t2.id) FROM c_publiccourse_tab t2 WHERE t2.parentid = t.id) coun FROM c_publiccourse_tab t WHERE  t.PARENTID =‘" + id +"‘  and t.orgid=‘"+orgID+"‘ order by t.id asc";
            Query query = super.createSQLQuery(hql).addScalar( "id" , Hibernate.STRING).addScalar( "name" , Hibernate.STRING).addScalar( "pid" , Hibernate.STRING)
                    .addScalar( "description" , Hibernate.STRING).addScalar( "createtime" , Hibernate.STRING).addScalar( "status" , Hibernate.STRING).addScalar( "imgurl" , Hibernate.STRING).addScalar( "coun" , Hibernate.STRING).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
            list1=query.list();
        }
        for (Map<String, Object> map : list1){
            map.put("open", true);
            String parentid = map.get("pid").toString();
            if (parentid.equals("-1")){
                map.put("open", true);
                int count = Integer.parseInt(map.get("coun").toString());
                if (count > 0){
                    map.put("isParent", true);
                }else{
                    map.put("isParent", false);
                }
            }else{
                int count = Integer.parseInt(map.get("coun").toString());
                if (count > 0){
                    map.put("isParent", true);
                }
            }
            list2.add(map);
        }
        return list2;
    }

    List<Map<String, Object>> data=publicCourseManager.getPublicCourseTree2(id,orgID);
        try
        {
            response.getWriter().write(JSONArray.fromObject(data).toString());
        } catch (IOException e)
        {
            e.printStackTrace();
        }
时间: 2024-08-24 15:39:56

【笔记】ztree的使用的相关文章

easyUi 学习笔记 (一) 使用easyui 和ztree 创建前端框架

1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 4 <%@ include file="/common/page.jsp" %> // 这里是引用的公共代码 ,主要是css和js jstl 的引用 easyui核心js都在里面 5 <!DOCTYPE html

ztree学习笔记(一)

在项目当中,经常会用到ztree树形插件,之前做的几个项目当中都用到了这个插件,感觉功能还是很强大的,而且在网上还找到了中文的API,因为项目中的树形结构不是自己做的,所以现在从头学习一下,并且记录一下学习的过程. 先简单介绍一下ztree. ztree是一款依靠jQuery实现的"树形"插件,它的特点是性能优异,配置灵活,功能强大,经常用于一些项目的功能管理和权限管理上,我自己接触的几个项目上的功能管理和权限管理上就用到了ztree插件.先向大家推荐一下ztree的中文API,个人觉

Ztree使用笔记

在项目中需要用到树,使用了Ztree.(官网地址:http://www.treejs.cn/v3/main.php#_zTreeInfo,介绍很详细,有API,有demo) 1.初始化树:   $.fn.zTree.init($("#treeDemo"), setting, zNodes),#treeDemo-放置树的容器ID,setting参数设置,ZNodes初始化的节点: 2.setting 参数设置如下 var setting = { check: { enable: true

2015第6周三ztree的使用

今天第一次真正在开发中使用了ztree组件,在实践过程体会了从生到熟的乐趣,从开始看不太懂ztree的api到后面熟悉理解其API布局,学习其中的各demo,感觉很不错,简单记录下使用ztree的经验. 1.查找API文档:http://www.ztree.me/v3/api.php 主要理解ztree对象(treeObj)和ztree结点(node)区别 (1)ztree对象treeObj是整棵树,不是指树的根节点rootNode,可通过treeObj.getNodes()获取所有根结点的集合

【安全牛学习笔记】

弱点扫描 ╋━━━━━━━━━━━━━━━━━━━━╋ ┃发现弱点                                ┃ ┃发现漏洞                                ┃ ┃  基于端口五福扫描结果版本信息(速度慢)┃ ┃  搜索已公开的漏洞数据库(数量大)      ┃ ┃  使用弱点扫描器实现漏洞管理            ┃ ╋━━━━━━━━━━━━━━━━━━━━╋ [email protected]:~# searchsploit Usage:

51CTO持续更新《通哥的运维笔记》

<通哥的运维笔记>将持续在51CTO网站更新,希望大家多多关注.互相学习,后期,我将会退出<通哥的运维笔记>系列视频教程,希望带给大家最大的收获,帮助大家更好的学习.进步.<通哥的运维笔记>主要从linux系统管理.虚拟化.cloudstack云平台以及网络管理之CCNA.CCNP.CCIE,等等方面深入讲解.

WPF笔记整理 - Bitmap和BitmapImage

项目中有图片处理的逻辑,因此要用到Bitmap.而WPF加载的一般都是BitmapImage.这里就需要将BitmapImage转成Bitmap 1. 图片的路径要用这样的,假设图片在project下的Images目录,文件名XXImage.png. pack://application:,,,/xxx;component/Images/XXImage.png 2. 代码: Bitmap bmp = null; var image = new BitmapImage(new Uri(this.X

java String 类 基础笔记

字符串是一个特殊的对象. 字符串一旦初始化就不可以被改变. String s = "abc";//存放于字符串常量池,产生1个对象 String s1=new String("abc");//堆内存中new创建了一个String对象,产生2个对象 String类中的equals比较字符串中的内容. 常用方法: 一:获取 1.获取字符串中字符的个数(长度):length();方法. 2.根据位置获取字符:charAt(int index); 3.根据字符获取在字符串中

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main