看了几篇对extjs4 check树级联选择的文章,用的时候或多或少存在bug,就在部分代码的基础上自己升级改造了一下
。
checkchange : function(node, checked) {
//父节点的选中与取消
if (checked == true) {
node.checked = checked;
pNode = node.parentNode;
//通过循环将所有父节点选中
for (; pNode != null; pNode = pNode.parentNode) {
pNode.set("checked", true);
}
}
else{//提示:当所有子节点取消父节点才能取消
node.checked = checked;
pNode = node.parentNode;
var flag=false;
for (; pNode != null; pNode = pNode.parentNode) {
var children=pNode.childNodes;
Ext.Array.each(children, function(node,index,fog) {
if(node.get('checked')){
//同级节点还有选中的
flag=true;
}
});
//如果同级节点还有选中的,那么跳出循环
if(flag){
break;
}else{
pNode.set("checked", false);
}
}
}
//当该节点有子节点时,将所有子节点选中取消
if (!node.get("leaf") && !checked){
node.cascade(function(node){
node.set('checked', false);
});
}else if(!node.get("leaf") && checked){
node.cascade(function(node){
node.set('checked', true);
});
}
}
}
分享到:
相关推荐
说明:本例主要实现在树节点数据过多的情况下对数据进行异步请求,并且在请求数据返回前台的同时实现级联选择。使用ExtJs版本为4.1.1a,在struts2下测试通过。例子仅供提供思路,简单易懂,不负责代码优化,哈哈!
Extjs4下拉树菜单 ComboBoxTree 支持单选和多选并且支持展开选中指定节点的通用控件 在项目中已经成熟运用 值得收藏和运用
将文件拷贝到extjs根目录下。运行即可。实现了选中之类。父类联动选中
TreePanel继承自Panel,在ExtJS中使用树控件含有丰富的属性和方法实现复杂的功能。其中Ext.tree.TreeNode代表一个树节点,比较常用的属性包括text、id、icon、checked等、异步树Ext.tree.AsyncTreeNode、树加载器Ext...
使用extjs+ibatis+spring+struts开发的权限系统 数据库mysql 数据库文件在开发文档目录下 动态树形菜单的加载 ,用户角色权限菜单的维护 jar文件删了一些,需要用的自己加包
ExtJs4实现下拉树选择框ComboTree, 文档中包含代码。
extjs3.2 3.3 3.4都测试过可以使用,带有复选框的树菜单,选中父节点子节点全部选中,选中子节点父节点选中(以及父节点的父节点等),其余版本不知道能否使用
extJs4 ComboBox 代码组合框实例,ComboBox 各个主要参数详细解释
extjs带复选框的树包括全选 反选 子选父以及 父选子 与adf在jsp页面得应用 包含了工具类以及针对extjs树节点增加、删除、修改的工具方法
extjs实现简单的树状结构级联Ext onReady function { Ext QuickTips init ; Ext BLANK IMAGE URL "extjs resources images default s gif"; var mytree new Ext tree TreePanel { el : "...
Extjs4后台框架
实现带有复选框的树,选中父节点时,选中所有子节点。取消所有子节点时,才能取消根节点,感兴趣的朋友可以了解下本
ExtJS4下拉树组件 ExtJS4下拉树组件
基于EXTjs 的 动态复选框树 json数据交互
Extjs4 comboboxTree下拉树型菜单,完美支持多选、单选,绝对好用。来源于网络,稍作修改。
C# Extjs 登陆框、框架 特效不错。注释很全面
Extjs动态树的实现以及节点拖拽
网上搜索了许久未找到...Extjs4.2 带复选框的下拉树,解决了向下勾选子节点、向上勾选父节点,正选反选获取值等问题,勾选的节点显示displayfield值直接显示在下拉文本框中。需要引用ext-all.js和ext-all-neptune.css