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操作cookie的文章(设置,删除cookies)
Apr 01 Javascript
jQuery源码分析-04 选择器-Sizzle-工作原理分析
Nov 14 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
Apr 16 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
Apr 23 Javascript
Bootstrap表单Form全面解析
Jun 13 Javascript
jQuery树形控件zTree使用小结
Aug 02 Javascript
Vue实现自带的过滤器实例
Mar 09 Javascript
原生js封装自定义滚动条
Mar 24 Javascript
JS实现按钮控制计时开始和停止功能
Jul 27 Javascript
JavaScript图片处理与合成总结
Mar 04 Javascript
jQuery事件多次绑定与解绑问题实例分析
Feb 19 jQuery
JS面向对象编程实现的拖拽功能案例详解
Mar 03 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/06 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
2019/12/20 PHP
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
JavaScript立即执行函数的三种不同写法
2014/09/05 Javascript
JS获取表格内指定单元格html内容的方法
2015/03/31 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
js获取所有checkbox的值的简单实例
2016/05/30 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
详解js获取video任意时间的画面截图
2019/04/17 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
Python实现把xml或xsl转换为html格式
2015/04/08 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
pycharm中连接mysql数据库的步骤详解
2017/05/02 Python
老生常谈Python序列化和反序列化
2017/06/28 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
使用sklearn之LabelEncoder将Label标准化的方法
2018/07/11 Python
Django多数据库的实现过程详解
2019/08/01 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
Keras之fit_generator与train_on_batch用法
2020/06/17 Python
详细分析Python可变对象和不可变对象
2020/07/09 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
大学学习生活感言
2014/01/18 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
家庭财产分割协议书范本
2014/11/24 职场文书
redis使用不当导致应用卡死bug的过程解析
2021/07/01 Redis
SpringBoot Http远程调用的方法
2022/08/14 Java/Android