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 相关文章推荐
jquery异步循环获取功能实现代码
Sep 19 Javascript
JavaScript中“+”的陷阱深刻理解
Dec 04 Javascript
js 判断一个元素是否在页面中存在
Dec 27 Javascript
javascript full screen 全屏显示页面元素的方法
Sep 27 Javascript
js限制文本框只能输入数字方法小结
Jun 16 Javascript
JavaScript实现的SHA-1加密算法完整实例
Feb 02 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
Jan 19 Javascript
JS中关于正则的巧妙操作
Aug 31 Javascript
在Vue中使用Compass的方法
Mar 02 Javascript
微信小程序methods中定义的方法互相调用的实例代码
Aug 07 Javascript
微信小程序之事件交互操作实例分析
Dec 03 Javascript
微信小程序之高德地图多点路线规划过程示例详解
Jan 18 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 使用post,get的一种简洁方式
2010/04/25 PHP
PHP 字符串长度判断效率更高的方法
2014/03/02 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
Symfony页面的基本创建实例详解
2015/01/26 PHP
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
JavaScript函数定义的常见注意事项小结
2014/09/16 Javascript
jquery判断iPhone、Android设备类型
2016/09/14 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
2017/02/10 Javascript
Bootstrap按钮组实例详解
2017/07/03 Javascript
javascript变量提升和闭包理解
2018/03/12 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
2020/09/11 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
Python中random模块用法实例分析
2015/05/19 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
css3一个简易的 LED 数字时钟实现方法
2020/01/15 HTML / CSS
phpquery中文手册
2021/03/18 PHP
九年级体育教学反思
2014/01/23 职场文书
2014年企业工会工作总结
2014/11/12 职场文书
小学生节水倡议书
2015/04/29 职场文书
离职信范本
2015/06/23 职场文书
python自然语言处理之字典树知识总结
2021/04/25 Python
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js
python turtle绘图
2022/05/04 Python