ztree 使用心得
最近项目需要用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 使用心得的更多相关文章
- ztree使用心得
一个很好用的Jquery树形控件 官网:http://www.ztree.me/v3/main.php#_zTreeInfo 我主要引用的文件为: //最新版的JS压缩包 <script src ...
- zTree & ckeditor &ValidateCode.jar 使用个人心得总结
zTree:依靠 jQuery 实现的多功能 “树插件”. 使用时只需要将下载的压缩包接用,复制里边的css 和 js 到指定目录即可. 如图所示: 在zTree的官网可以找到各种类型树的示例: 地址 ...
- 利用ZTree链接数据库实现 [权限管理]
最近想研究权限管理,看群里有人发了ZTrees模板,我看了下,觉得笔easyUI操作起来更灵活些,于是就开始研究了. 刚开始从网上找了找了个Demo,当然这个并没有实现权限啥的,但实现了前台调用Aja ...
- web前端开发控件学习笔记之jqgrid+ztree+echarts
版权声明:本文为博主原创文章,转载请注明出处. 作为web前端初学者,今天要记录的是三个控件的使用心得,分别是表格控件jqgrid,树形控件ztree,图表控件echarts.下边分别进行描述. ...
- js插件ztree使用
最新给公司后台写了一个配置页面,在网上搜到一个js插件ztree,记录一下使用心得. 首先说一下ztree官网,好多方法我都是从官网api上学习的,官网地址http://www.treejs.cn/v ...
- 树结构ztree的 ajax交互的简单使用
今天做前端页面要用到树结构,用了第三方插件ztree,搞了好久不过终于弄出来了,, 一点小心得.(用的版本 V3 ) 首先看下载的文件结构: 一:将要用到的CSS 和 JS 拷贝到工程中,我这里在工程 ...
- jquery zTree插件 json 数据详解
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- NoSql数据库使用半年后在设计上面的一些心得
NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...
随机推荐
- SparkSQL与Hive的整合
其他的配置hive基本配置就不记录了!! 1. 拷贝$HIVE_HOME/conf/hive-site.xml $SPARK_HOME/conf/2. 在$SPARK_HOME/conf/目录中,修改 ...
- windows7下解决caffe check failed registry.count(type) == 1(0 vs. 1) unknown layer type问题
在Windows7下调用vs2013生成的Caffe静态库时经常会提示Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer t ...
- CF 1138 E. Museums Tour
E. Museums Tour 链接 分析: 按时间建出分层图,每个点形如(u,t),表示u在在t个时刻的点,tarjan缩点.每个强连通分量中的点都能经过,然后DAG上dp. 代码: #includ ...
- 2734: [HNOI2012]集合选数
2734: [HNOI2012]集合选数 链接 分析: 转化一下题意. 1 3 9 27... 2 6 18 54... 4 12 36 108... 8 24 72 216... ... 写成这样的 ...
- Comet OJ CCPC-Wannafly Winter Camp Day8 A Aqours
A Aqours 链接 分析: 给出的点可以视为是按照BFS序给的,也就是说从浅到深给出.可以再给每个节点u维护一个f值,表示离u最近的叶子节点到它的距离. 所以每当扫到一个叶子节点,就可以暴力往根节 ...
- [原][osgearth]OE地形平整代码解读
在FlatteningLayer文件的createHeightField函数中:使用的github在2017年1月份的代码 if (!geoms.getComponents().empty()) { ...
- eclipse下载与安装并测试
下载地址:www.ecplise.org 下载完成后双击安装 安装完成之后,第一次运行eclipse会弹出Workspace Launcher对话框,要求设置工作空间存放项目文档. ...
- 异步任务(Celery)详解
一.背景 在开发中,我们可能经常会遇到一些需要执行时间很长的任务,如果放在前端,会让用户一直卡在那儿等待或者一直转圈圈,体验非常不好.为了改善这种体验,我赶紧上网搜索,果然,前人早已有解决办法了.那就 ...
- Python学习过程笔记整理(一)
编码方式 -Utf8编码方式:# -*- coding: utf-8 -*- 注释 -行注释 # -块注释 '''...'''或"""...""&qu ...
- Python中remove,pop,del的区别
先上题:写出最终打印的结果 a = [1, 2, 3, 4] for x in a: a.remove(x) print(a) print("=" * 20) b = [1, 2, ...