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 相关文章推荐
js 蒙版进度条(结合图片)
Mar 10 Javascript
JqGrid web打印实现代码
May 31 Javascript
jQuery学习笔记 获取jQuery对象
Sep 19 Javascript
jQuery.holdReady()使用方法
May 20 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
Jan 26 Javascript
学习使用Bootstrap栅格系统
May 11 Javascript
Validform验证时可以为空否则按照指定格式验证
Oct 20 Javascript
javascript数组拍平方法总结
Jan 20 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
Aug 10 Javascript
小程序实现展开/收起的效果示例
Sep 22 Javascript
JavaScript使用类似break机制中断forEach循环的方法
Nov 13 Javascript
解决Layui 表格自适应高度的问题
Nov 15 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
DOTA2【瓜皮时刻】Vol.91 RTZ山史最惨“矿难”
2021/03/05 DOTA
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
PHP中header用法小结
2016/05/23 PHP
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
javascript设置和获取cookie的方法实例详解
2016/01/05 Javascript
JS实现焦点图轮播效果的方法详解
2016/12/19 Javascript
js多个物体运动功能实例分析
2016/12/20 Javascript
基于vue实现多引擎搜索及关键字提示
2017/03/16 Javascript
让你彻底掌握es6 Promise的八段代码
2017/07/26 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
vue使用axios实现excel文件下载的功能
2020/07/16 Javascript
vue 组件基础知识总结
2021/01/26 Vue.js
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
python频繁写入文件时提速的方法
2019/06/26 Python
详解python中__name__的意义以及作用
2019/08/07 Python
python构造IP报文实例
2020/05/05 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
使用HTML5和CSS3表单验证功能
2017/05/05 HTML / CSS
Java的五个基础面试题
2016/02/26 面试题
大学生活学习的自我评价
2013/12/03 职场文书
个人自我评价分享
2013/12/20 职场文书
教育学习自我评价
2014/02/03 职场文书
同学聚会通知短信
2015/04/20 职场文书
详解用Python把PDF转为Word方法总结
2021/04/27 Python
JS代码编译器Monaco使用方法
2021/06/11 Javascript
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript