最近项目需要用ztree ,初步研究感觉这个插件写的实在是太好了。现总结遇到的问题

封装一颗树

/**
* 按类型分组树
* Id 按类型分组ID
* treeId 树ID
* treeDivId divid
*
* **/
function carTypeGroup(id,treeId,treeDivId){
var o=new Object();
o.showMenu = function () {
//输入框的ID
var cityOffset = $("#" + id).position();
$("#" + treeDivId).css({left: cityOffset.left + "px"}).slideDown("fast");
$("body").bind("mousedown", o.onAreaBodyDown); }; o.onAreaBodyDown = function (event) {
if (!( event.target.id == treeDivId || $(event.target).parents("#" + treeDivId).length > 0)) {
o.areaHideMenu();
}
}; o.areaHideMenu = function () {
$("#" + treeDivId).fadeOut("fast");
$("body").unbind("mousedown", o.onAreaBodyDown);
//var treeObj = $.fn.zTree.getZTreeObj(treeId);
//treeObj.expandAll(false); };
//点击勾选checkbox 执行函数
o.treeChecked = function (event, treeId, treeNode) {
var treeObj = $.fn.zTree.getZTreeObj(treeId);
var checkCount = treeObj.getCheckedNodes(true);
var namestr = "";
var idstr = "";
//获取到所有的被选中的
for (var i = 0; i < checkCount.length; i++) {
namestr += checkCount[i].name + ",";
idstr += checkCount[i].id + ",";
}
//后续操作根据自身要求写。
$("#groupByTollgate").val(idstr.substring(0, idstr.length - 1));
}
var setting = {
check: {
enable: true,
chkStyle: "checkbox",
chkboxType: {"Y": "s", "N": "ps"}
},
data: {
simpleData: {
enable: true
}
},
callback: {
onCheck: o.treeChecked
}
}; var zNodes =[
{ id:1, pId:0, name:"ss", open:true},
{ id:11, pId:1, name:"111"},
{ id:12, pId:1, name:"112"},
{ id:13, pId:1, name:"113"},
{ id:2, pId:0, name:"gfg", open:true},
{ id:21, pId:2, name:"111"},
{ id:22, pId:2, name:"112"},
{ id:23, pId:2, name:"113"},
{ id:3, pId:0, name:"nhk", open:true},
{ id:31, pId:3, name:"111"},
{ id:32, pId:3, name:"112"},
{ id:33, pId:3, name:"113"} ]; $.fn.zTree.init($("#" + treeId), setting, zNodes); return o;
}

其中遇到一个需求是,每次勾选的checkbox 再次点击的时候,让以前选过的默认是选中状态,也就是数据回显

/* *
* tree 回显选中值
*/
function initCarSelect(codeId, treeId) {
var org = $("#" + codeId).val();
var zTree = $.fn.zTree.getZTreeObj(treeId);
var arr = org.split(",");
for (var i = 0; i < arr.length; i++) {
var node = zTree.getNodeByParam("id", arr[i], null);
if(node!==null){
zTree.checkNode(node, true, true);
}
}
}

ztree 使用心得的更多相关文章

  1. ztree使用心得

    一个很好用的Jquery树形控件 官网:http://www.ztree.me/v3/main.php#_zTreeInfo 我主要引用的文件为: //最新版的JS压缩包 <script src ...

  2. zTree & ckeditor &ValidateCode.jar 使用个人心得总结

    zTree:依靠 jQuery 实现的多功能 “树插件”. 使用时只需要将下载的压缩包接用,复制里边的css 和 js 到指定目录即可. 如图所示: 在zTree的官网可以找到各种类型树的示例: 地址 ...

  3. 利用ZTree链接数据库实现 [权限管理]

    最近想研究权限管理,看群里有人发了ZTrees模板,我看了下,觉得笔easyUI操作起来更灵活些,于是就开始研究了. 刚开始从网上找了找了个Demo,当然这个并没有实现权限啥的,但实现了前台调用Aja ...

  4. web前端开发控件学习笔记之jqgrid+ztree+echarts

    版权声明:本文为博主原创文章,转载请注明出处.   作为web前端初学者,今天要记录的是三个控件的使用心得,分别是表格控件jqgrid,树形控件ztree,图表控件echarts.下边分别进行描述. ...

  5. js插件ztree使用

    最新给公司后台写了一个配置页面,在网上搜到一个js插件ztree,记录一下使用心得. 首先说一下ztree官网,好多方法我都是从官网api上学习的,官网地址http://www.treejs.cn/v ...

  6. 树结构ztree的 ajax交互的简单使用

    今天做前端页面要用到树结构,用了第三方插件ztree,搞了好久不过终于弄出来了,, 一点小心得.(用的版本 V3 ) 首先看下载的文件结构: 一:将要用到的CSS 和 JS 拷贝到工程中,我这里在工程 ...

  7. jquery zTree插件 json 数据详解

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  9. NoSql数据库使用半年后在设计上面的一些心得

    NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...

随机推荐

  1. 卸载JLink驱动弹出“could not open INSTALL.LOG file”的解决方法

    我的操作环境是Windows 10 64位,JLink驱动的版本是V4.96. 最近好久不用STM32了,打算把JLink驱动卸载掉,但是无论是用JLink驱动自带的卸载程序还是控制面板来卸载,都会弹 ...

  2. lua通用数据类型

    TValue结构 TValue这个结构体是Lua的通用结构体,,Lua中的所有的数据都可以使用这个结构体来表示.很容易想到,在面向对象中,这个结构体是一个基类,派生出来的都是其他的子类. TValue ...

  3. C++ 信号处理

    原文:https://www.w3cschool.cn/cpp/cpp-signal-handling.html C++ 信号处理 信号是由操作系统传给进程的中断,会提早终止一个程序.在 UNIX.L ...

  4. Java基础——类加载机制

    什么叫类加载 JVM把 .class 字节码文件加载到内存,并进行相关的校验.解析.初始化,最终转换为虚拟机可用的JAVA类型的过程,称为JVM类加载机制. (当然,JVM并不关心class文件的来源 ...

  5. 【转载】COM 组件设计与应用(十六)——连接点(vc.net)

    原文:http://vckbase.com/index.php/wv/1257.html 一.前言 上回书介绍了回调接口,在此基础上,我们理解连接点就容易多了. 二.原理 图一.连接点组件原理图.左侧 ...

  6. 一个将当前目录下HEX文件的第一行数据删除的程序

    为什么要写这样一个函数 在使用SoftConsole开发M3程序时,生成的hex文件,必须要把第一行数据删除,才能在Libero中使用,所以写了这个小工具,这是2.0版本了,第一版是直接删除第一行数据 ...

  7. ionic生成签名的APK方法总结

    ionic生成签名的apk步骤如下: 1. 在项目目录下运行 ionic build android --release 先生成一个未签名的apk 2. 在项目目录下运行 keytool -genke ...

  8. java练习(一)数组、集合的运用

    有这么一个有趣的问题,问:有这么一个不重复的自然数数组,自然数长度为N,而数组长度为N-2,依次随机把自然数放进数组中,请找出2个没有被放进去的自然数.例如:这个自然数数组是[0, 1, 2, 3,  ...

  9. SQL Server Management Studio 键盘快捷键

    光标移动键盘快捷键 操作 SQL Server 2012 SQL Server 2008 R2 左移光标 向左键 向左键 右移光标 向右键 向右键 上移光标 向上键 向上键 下移光标 向下键 向下键 ...

  10. variadic templates & pass by const reference & member operator [] in const map & gcc sucks

    /// bugs code with comments #include <iostream> #include <memory> #include <unordered ...