关于extjs treepanel复选框选中父节点与子节点的问题


Posted in Javascript onApril 02, 2013

关于extjs treepanel复选框选中父节点与子节点的问题 
extjs 如图,实现带有复选框的树,选中父节点时,选中所有子节点。取消所有子节点时,才能取消根节点。

var Fpanel = new Ext.tree.TreePanel({ 
id:'ptree', 
region:'west', 
layout:'anchor', 
border:false, 
rootVisible: false, 
root:new Ext.tree.AsyncTreeNode({}), 
listeners:{ 
"checkchange": function(node, state) { 
if (node.parentNode != null) { 
//子节点选中 
node.cascade(function(node){ 
node.attributes.checked = state; 
node.ui.checkbox.checked = state; 
return true; 
}); 
//父节点选中 
var pNode = node.parentNode; 
if (state || Fpanel.getChecked(id, pNode) == "") { 
pNode.ui.toggleCheck(state); 
pNode.attributes.checked = state; 
} 
} 
} 
} 
}); 
authorityTree(Fpanel); 
var authorityTree = function(Fpanel){ 
Ext.Ajax.request({ 
url: 'authorityTree.ashx', 
method:'get', 
success: function(request) { 
var data = Ext.util.JSON.decode(request.responseText); 
Fpanel.getRootNode().appendChild(data); 
Fpanel.getRootNode().expandChildNodes(true); 
Fpanel.expandAll(); 
}, 
failure: function() { 
Fpanel.render(); 
Ext.MessageBox.show({ 
title: '提示', 
msg: '服务器忙,请使用火狐浏览器浏览或稍后重试!', 
buttons: Ext.MessageBox.OK, 
icon: Ext.MessageBox.ERROR 
}); 
} 
}); 
}
Javascript 相关文章推荐
firefox和IE系列的相关区别整理 以备后用
Dec 28 Javascript
jQuery中ajax的使用与缓存问题的解决方法
Dec 19 Javascript
bootstrap导航、选项卡实现代码
Dec 28 Javascript
javascript 正则表达式分组、断言详解
Apr 20 Javascript
基于jQuery解决ios10以上版本缩放问题
Nov 03 jQuery
深入理解JavaScript的async/await
Aug 05 Javascript
js根据json数据中的某一个属性来给数据分组的方法
Oct 08 Javascript
React如何解决fetch跨域请求时session失效问题
Nov 02 Javascript
原生js实现针对Dom节点的CRUD操作示例
Aug 26 Javascript
浅析TypeScript 命名空间
Mar 19 Javascript
vue实现短信验证码输入框
Apr 17 Javascript
JavaScript变量Dom对象的所有属性
Apr 30 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
UpdatePanel和Jquery冲突的解决方法
Apr 01 #Javascript
You might like
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
PHP利用MySQL保存session的实现思路及示例代码
2014/09/09 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
ThinkPHP实现图片上传操作的方法详解
2017/05/08 PHP
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
javascript中的float运算精度实例分析
2010/08/21 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
2021/01/20 Javascript
angular实现表单验证及提交功能
2017/02/01 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
2018/01/08 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
JavaScript数值类型知识汇总
2019/11/17 Javascript
JS实现手写 forEach算法示例
2020/04/29 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
Web服务器框架 Tornado简介
2014/07/16 Python
Python判断操作系统类型代码分享
2014/11/22 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
简单了解python元组tuple相关原理
2019/12/02 Python
基于python实现文件加密功能
2020/01/06 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
python一些性能分析的技巧
2020/08/30 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2020/09/09 Python
Python编写单元测试代码实例
2020/09/10 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
Ajxa常见问题都有哪些
2014/03/26 面试题
浅谈JS和Nodejs中的事件驱动
2021/05/05 NodeJs
java项目构建Gradle的使用教程
2022/03/24 Java/Android
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android
Golang获取List列表元素的四种方式
2022/04/20 Golang