【笔记】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”,包含了所有.如 ...
随机推荐
- CsvHelper支持List<T>
/// <summary> /// Csv帮助类 /// </summary> public class CsvHelper { /// <summary> / ...
- opencv_判断两张图片是否相同
QQ:231469242 pip install opencv 如果找不到版本,去非官方下载opencv第三方包http://www.lfd.uci.edu/~gohlke/pythonlibs/ 下 ...
- Mac 配置 php-fpm 时出现'/private/etc/php-fpm.conf': No such file or directory (2)
https://github.com/musicode/test/issues/5 Mac 自带 php-fpm,在终端执行 php-fpm,会报如下错误: ERROR: failed to open ...
- 如何查看编译安装的lnmp环境各自的配置参数
安装好后如何查看mysql/apache/nginx/php安装参数 查看mysql编译参数: cat /usr/local/mysql/bin/mysqlbug | grep CONFIGURE ...
- xml解析技术
本文总结Dom,sax解析, 使用Java作为工具解析xml文档. 1 Dom 综述:Dom解析xml通常也称为xmlDom (和htmlDom技术差不多),将xml文档封装成树,好处就是xml中的 ...
- Qt控件样式 Style Sheet Demo
迟来的笔记,作为一个程序员每日记事已养成习惯,离开许久,不知不觉已喜欢用文字表达对技术的热爱,学无止境! Qt – 一个跨平台应用程序和UI开发框架:它包括跨平台类库.集成开发工具和跨平台 IDE,使 ...
- Android Studio开发Android应用如何签名
1.使用jdk自带的工具生成keystore 使用cmd命令行进入到jdk的bin目录(比如:C:\Program Files\Java\jdk1.7.0_01\bin) 运行如下命令: C:\Pro ...
- XML基础
什么是XML? XML(Extensible Markup Language)可扩展标记语言,是一种以简单文本格式存储数据的方式. 它最重要的组成部分是XML元素,包含了文档的实际数据. XML的几个 ...
- Format 函数示例
Format 函数示例本示例显示用 Format 函数做格式化输出的不同用法.对于日期分隔号(/),时间分隔号(:),以及 AM/ PM 等文本而言,其真正的显示格式会因计算机上的国际标准不同而有所差 ...
- linux 下串口独占方式打开
参考文章: http://blog.csdn.net/rl529014/article/details/51336161 http://blog.csdn.net/lin_fs/article/de ...