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 ajax执行后台方法
Mar 18 Javascript
JavaScript中的一些定位属性[图解]
Jul 14 Javascript
电子商务网站上的常用的js放大镜效果
Dec 08 Javascript
jQuery操作select下拉框的text值和value值的方法
May 31 Javascript
js计算德州扑克牌面值的方法
Mar 04 Javascript
D3.js实现雷达图的方法详解
Sep 22 Javascript
jQuery序列化表单成对象的简单实现
Nov 29 Javascript
js鼠标移动时禁止选中文字
Feb 19 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
Sep 28 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
Oct 20 Javascript
微信小程序使用component自定义toast弹窗效果
Nov 27 Javascript
微信小程序跨页面传递data数据方法解析
Dec 13 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
Look And Say 序列php实现代码
2011/05/22 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
Yii使用CLinkPager分页实例详解
2014/07/23 PHP
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
php str_replace替换指定次数的方法详解
2017/05/05 PHP
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
2015/06/10 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
详解jQuery设置内容和属性
2019/04/11 jQuery
vue-resourc发起异步请求的方法
2020/02/11 Javascript
vue实现购物车的监听
2020/04/20 Javascript
react+antd 递归实现树状目录操作
2020/11/02 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
让 python 命令行也可以自动补全
2014/11/30 Python
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
2019/06/14 Python
在Python中利用pickle保存变量的实例
2019/12/30 Python
Python退出时强制运行一段代码的实现方法
2020/04/29 Python
基于Python绘制美观动态圆环图、饼图
2020/06/03 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
Linux面试题LINUX系统类
2014/11/19 面试题
总裁岗位职责
2013/12/04 职场文书
公务员综合考察材料
2014/02/01 职场文书
毕业生自荐书
2014/02/03 职场文书
高中语文课后反思
2014/04/27 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
投诉信范文
2015/07/02 职场文书