【笔记】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();
}
【笔记】ztree的使用的更多相关文章
- zTree 学习笔记之(一)
zTree 学习笔记之(一) 简介 zTree 是一个依靠 jQuery 实现的多功能 “树插件”.优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. 到底有哪些具体的优点,可以参见官网 ...
- [译]聊聊C#中的泛型的使用(新手勿入) Seaching TreeVIew WPF 可编辑树Ztree的使用(包括对后台数据库的增删改查) 字段和属性的区别 C# 遍历Dictionary并修改其中的Value 学习笔记——异步 程序员常说的「哈希表」是个什么鬼?
[译]聊聊C#中的泛型的使用(新手勿入) 写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发 ...
- Ztree 随笔记
Ztree方法是一个单体对象方法,假如一个页面有多个的话,每申明一个新对象前面的Ztree对象就要被覆盖. 解决:在生成tree控件的时候就要设置其控件ID,然后通过$.fn.zTree.getZTr ...
- Ztree使用笔记
在项目中需要用到树,使用了Ztree.(官网地址:http://www.treejs.cn/v3/main.php#_zTreeInfo,介绍很详细,有API,有demo) 1.初始化树: $.f ...
- web前端开发控件学习笔记之jqgrid+ztree+echarts
版权声明:本文为博主原创文章,转载请注明出处. 作为web前端初学者,今天要记录的是三个控件的使用心得,分别是表格控件jqgrid,树形控件ztree,图表控件echarts.下边分别进行描述. ...
- ztree学习笔记(一)
在项目当中,经常会用到ztree树形插件,之前做的几个项目当中都用到了这个插件,感觉功能还是很强大的,而且在网上还找到了中文的API,因为项目中的树形结构不是自己做的,所以现在从头学习一下,并且记录一 ...
- zTree 3-- jQuery 树插件笔记
地址:http://www.treejs.cn/v3/demo.php#_507 数据结构json,里可以自定义属性. var zNodes =[ { name:"父节点1 - 展开&quo ...
- z-tree学习笔记
做项目时,需要用到带复选框的tree.经比较后优选了ztree,功能强大,文档清晰. http://www.treejs.cn/v3/api.php 直接上代码吧. 1.下载ztree后.将里面需要用 ...
- JQ树插件 — zTree笔记
1.zTree作者很贴心的为使用者将不同功能的代码封装成不同的文件,方便大家尽量减少加载的代码量,如果基本全用到,则不必一个个引用,有一个文件“jquery.ztree.all.js”,包含了所有.如 ...
随机推荐
- [转] C++的引用传递、指针传递参数在java中的相应处理方法
原文出处:[http://blog.csdn.net/conowen/article/details/7420533] 首先要明白一点,java是没有指针这个概念的. 但是要实现C++的引用传递.指针 ...
- 【Beta】第七次任务发布
PM #103 #85 日常管理&dev版宣传&新增报告管理后台. 后端 #103 报告管理后台后端实现,提供必要API接口及文档说明 验收:符合要求的接口及其说明文档 前端 #89 ...
- 解决IDEA中Maven加载依赖包慢的问题
原理:maven加载jar包过程,默认的是先扫描本地仓库,若本地仓库没有,则扫描远程仓库下载.默认的conf/settings.xml文件没有配置远程仓库,所以扫描的是maven的中央仓库(在国外), ...
- bzoj2330: [SCOI2011]糖果
2330: [SCOI2011]糖果 Time Limit: 10 Sec Memory Limit: 128 MB Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友 ...
- Swift -Login(MVC 纯代码)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #000000 } span.s1 { } span.s2 { c ...
- C语言中,while()语句中使用赋值语句
while()语句括号中是一个逻辑表达式,用以判断while循环是否需要继续执行.可以是赋值语句. while循环的一般格式为: while(expr) { ;//body } 其中用来判断循环条件的 ...
- 浅谈Android样式开发之View Animation (视图动画)
引言 一个用户体验良好的App肯定少不了动画效果.Android为我们提供了2种动画框架,分别是视图动画(View Animation)和属性动画(Property Animation).视图动画比较 ...
- Bubble Cup 8 finals F. Bulbo (575F)
题意: 给定初始位置,查询n次区间,每次查询前可以花费移动距离的代价来移动, 查询时需要花费当前位置到区间内最近的点的距离,求最小代价. 1<=n<=5000,1<=所有位置< ...
- SQL语句判断数据库、表、字段是否存在
from master..sysdatabases where name='TestDB') print 'TestDB存在'else print 'TestDB不存在' --判断表[Te ...
- 8Spring初步----青软S2SH(笔记)
例子: bean.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...