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中String和StringBuffer的速度之争
Apr 01 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 03 Javascript
prettify 代码高亮着色器google出品
Dec 28 Javascript
解决js正则匹配换行问题实现代码
Dec 10 Javascript
jquery实现手风琴效果实例代码
Nov 15 Javascript
使图片旋转的3种解决方案
Nov 21 Javascript
jquery mobile 移动web(5)
Dec 20 Javascript
深入解析Backbone.js框架的依赖库Underscore.js的作用
May 07 Javascript
jQuery实现级联下拉框实战(5)
Feb 08 Javascript
Vue路由守卫之路由独享守卫
Sep 25 Javascript
使用layui的layer组件做弹出层的例子
Sep 27 Javascript
javascript实现页面的实时时钟显示示例
Aug 06 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学习资源和链接.
2006/12/05 PHP
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
jQuery select操作控制方法小结
2010/05/26 Javascript
JS 两个字符串时间的天数差计算
2013/08/25 Javascript
node.js实现逐行读取文件内容的代码
2014/06/27 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
2014/09/01 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
写给小白的JavaScript引擎指南
2015/12/04 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
如何更好的编写js async函数
2018/05/13 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
2020/05/11 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
python pyinstaller 加载ui路径方法
2019/06/10 Python
django 控制页面跳转的例子
2019/08/06 Python
python如何编写类似nmap的扫描工具
2020/11/06 Python
Html5画布_动力节点Java学院整理
2017/07/13 HTML / CSS
html5 利用canvas实现超级玛丽简单动画
2013/09/06 HTML / CSS
中国综合网上购物商城:苏宁易购
2016/08/09 全球购物
Herve Leger官网:标志性绷带连衣裙等
2018/12/26 全球购物
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
一道输出判断型Java面试题
2014/10/01 面试题
就业自荐书
2013/12/05 职场文书
幼儿园招生广告
2014/03/19 职场文书
安全演讲稿开场白
2014/08/25 职场文书
学校政风行风自查自纠报告
2014/10/21 职场文书
2014公司年终工作总结
2014/12/19 职场文书
关于职业道德的心得体会
2016/01/18 职场文书
Java org.w3c.dom.Document 类方法引用报错
2021/08/07 Java/Android
海弦WR-800F
2022/04/05 无线电