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 相关文章推荐
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
May 25 Javascript
jquery ajax return没有返回值的解决方法
Oct 20 Javascript
使用js判断控件是否获得焦点
Jan 03 Javascript
JS 实现列表与多选框选择附预览动画
Oct 29 Javascript
jQuery中val()方法用法实例
Dec 25 Javascript
javascript折半查找详解
Jan 26 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
Jan 30 Javascript
JavaScript实现的搜索及高亮显示功能示例
Aug 14 Javascript
vue router 配置路由的方法
Jul 26 Javascript
通过javascript实现段落的收缩与展开
Jun 26 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
May 10 Javascript
vue3.0自定义指令(drectives)知识点总结
Dec 27 Vue.js
关于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 创建标签云函数代码
2010/05/26 PHP
PHP源码之explode使用说明
2011/08/05 PHP
php实现的双色球算法示例
2017/06/20 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
jQuery实现连续动画效果实例分析
2015/10/09 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
jquery mobile界面数据刷新的实现方法
2016/05/28 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
js 博客内容进度插件详解
2017/02/19 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
如何基于javascript实现贪吃蛇游戏
2020/02/09 Javascript
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
python 数字类型和字符串类型的相互转换实例
2018/07/17 Python
python中的协程深入理解
2019/06/10 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
2019/07/22 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
2019/08/27 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
保险专业自荐信范文
2014/02/20 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
郭明义观后感
2015/06/08 职场文书
医院感染管理制度
2015/08/05 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书
Windows Server 2012 修改远程默认端口3389的方法
2022/04/28 Servers
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS