extjs关于treePanel+chekBox全部选中以及清空选中问题探讨


Posted in Javascript onApril 02, 2013
//树 
var treePanel = new Ext.tree.TreePanel({ 
id:'ptree', 
region:'west', 
layout:'anchor', 
border:false, 
rootVisible: false, 
root:{}, 
listeners:{ 
render: function() { 
authorityTree(treePanel); /*渲染树*/ 
}, 
checkchange: function(node, state) { 
if (node.parentNode != null) { 
//选中子节点让相应的父节点选中 
var pNode = node.parentNode; 
if (state || treePanel.getChecked(id, pNode) == "") { 
pNode.ui.toggleCheck(state);// 触发父节点被选中 
pNode.attributes.checked = state; 
} 
} 
treeId = node.attributes.id; 
treeName = node.attributes.text; 
} 
} 
}); 
//操作按钮 
tbar: [{ 
id: 'btnQingKong', 
text: '清空', 
iconCls: 'winupdate-icon', 
handler: function() { 
var nodes = Ext.getCmp('ptree').getChecked(); 
if (nodes && nodes.length) { 
for (var i = 0; i < nodes.length; i++) { 
//设置UI状态为未选中状态 
nodes[i].getUI().toggleCheck(false); 
//设置节点属性为未选中状态 
nodes[i].attributes.checked = false; 
} 
} 
} 
},{ 
id: 'btnQuanXuan', 
text: '全选', 
iconCls: 'winupdate-icon', 
handler: function() { 
var nodeT = Ext.getCmp('ptree').getRootNode(); 
treeCheckTrue(nodeT); 
} 
}] 
/** 
*checkTree全选 
*/ 
var treeCheckTrue = function(node) 
{ 
node.eachChild(function (child) { 
child.getUI().toggleCheck(true); 
child.attributes.checked = true; 
treeCheckTrue(child); 
}); 
} 
/** 
*checkTree清空 
*/ 
var treeCheckfalse = function(tree) 
{ 
var nodes = tree.getChecked(); 
if(nodes && nodes.length){ 
for(var i=0;i<nodes.length;i++){ 
//设置UI状态为未选中状态 
nodes[i].getUI().toggleCheck(false); 
//设置节点属性为未选中状态 
nodes[i].attributes.checked=false; 
} 
} 
}
Javascript 相关文章推荐
分享Javascript中最常用的55个经典小技巧
Nov 29 Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
Jun 20 Javascript
jQuery插件pagewalkthrough实现引导页效果
Jul 05 Javascript
Bootstrap fileinput组件封装及使用详解
Mar 10 Javascript
JavaScript错误处理和堆栈追踪详解
Apr 18 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
Aug 16 Javascript
vue服务端渲染添加缓存的方法
Sep 18 Javascript
Vue实现一个图片懒加载插件
Mar 11 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
May 07 Javascript
JavaScript的console命令使用实例
Dec 03 Javascript
vue 查看dist文件里的结构(多种方式)
Jan 17 Javascript
JavaScript实现电灯开关小案例
Mar 30 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
Apr 02 #Javascript
extjs tabpanel限制选项卡数量实现思路及代码
Apr 02 #Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
Apr 02 #Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
Apr 02 #Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
Apr 02 #Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
Apr 02 #Javascript
ExtJS下书写动态生成的xml(兼容火狐)
Apr 02 #Javascript
You might like
写一个用户在线显示的程序
2006/10/09 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
ThinkPHP实现动态包含文件的方法
2014/11/29 PHP
php递归json类实例
2014/12/02 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
js获取单选框或复选框值及操作
2012/12/18 Javascript
jQuery实现文本展开收缩特效
2015/06/03 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
2017/06/28 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
2017/09/20 jQuery
如何在js代码中消灭for循环实例详解
2018/07/29 Javascript
对vue中v-on绑定自定事件的实例讲解
2018/09/06 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
2019/11/08 Javascript
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
原生JS实现弹幕效果的简单操作指南
2020/11/10 Javascript
[09:37]2018DOTA2国际邀请赛寻真——不懈追梦的Team Serenity
2018/08/13 DOTA
python django 增删改查操作 数据库Mysql
2017/07/27 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
Python数据结构与算法之完全树与最小堆实例
2017/12/13 Python
python中返回矩阵的行列方法
2018/04/04 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
python实现矩阵和array数组之间的转换
2019/11/29 Python
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
医药大学生求职简历的自我评价
2013/10/17 职场文书
电子商务专业自我鉴定
2013/12/18 职场文书
英语商务邀请函范文
2014/01/16 职场文书
主持人开幕词
2015/01/29 职场文书
第一节英语课开场白
2015/06/01 职场文书
Go语言使用select{}阻塞main函数介绍
2021/04/25 Golang
python-for x in range的用法(注意要点、细节)
2021/05/10 Python