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类
Sep 08 Javascript
slice函数的用法 之不错的应用
Dec 29 Javascript
JavaScript 图片预览效果 推荐
Dec 22 Javascript
jquery获取div距离窗口和父级dv的距离示例
Oct 10 Javascript
jquery得到iframe src属性值的方法
Sep 25 Javascript
node.js中的fs.readSync方法使用说明
Dec 17 Javascript
Angular2 自定义validators的实现方法
Jul 05 Javascript
解决Vue2.x父组件与子组件之间的双向绑定问题
Mar 06 Javascript
JS事件流与事件处理程序实例分析
Aug 16 Javascript
基于JavaScript实现留言板功能
Mar 16 Javascript
vue + el-form 实现的多层循环表单验证
Nov 25 Vue.js
JavaScript实现打字游戏
Feb 19 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
php cc攻击代码与防范方法
2012/10/18 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
php实用代码片段整理
2016/11/12 PHP
PHP中的use关键字及文件的加载详解
2016/11/28 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
Jquery 常用方法经典总结
2010/01/28 Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
JQuery循环滚动图片代码
2011/12/08 Javascript
B/S模式项目中常用的javascript汇总
2013/12/17 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
jQuery实现获取多选框的值示例
2020/02/07 jQuery
python fabric实现远程部署
2017/01/05 Python
Python数据结构之单链表详解
2017/09/12 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
pycharm设置当前工作目录的操作(working directory)
2020/02/14 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
Weblogic的布署方式
2013/08/23 面试题
酒后驾驶检讨书
2014/01/27 职场文书
志愿者活动总结
2014/04/28 职场文书
办理护照工作证明
2014/10/10 职场文书
政风行风整改报告
2014/11/06 职场文书
龙门石窟导游词
2015/02/02 职场文书
2015入党自荐书范文
2015/03/05 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
2016继续教育研修日志
2015/11/13 职场文书
2016高考寄语集锦
2015/12/04 职场文书
Jupyter notebook 不自动弹出网页的解决方案
2021/05/21 Python
Vue2.0搭建脚手架
2022/03/13 Vue.js
HttpClient实现文件上传功能
2022/08/14 Java/Android