关于extjs treepanel复选框选中父节点与子节点的问题
更新时间:2013年04月02日 15:06:02 作者:
实现带有复选框的树,选中父节点时,选中所有子节点。取消所有子节点时,才能取消根节点,感兴趣的朋友可以了解下本文
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
});
}
});
}
相关文章
Extjs TriggerField在弹出窗口显示不出问题的解决方法
解决Extjs TriggerField在弹出窗口显示不出问题2010-01-01
ext combox 下拉框不出现自动提示,自动选中的解决方法
ext combox 如果想实现类似于 baidu 搜索时的提示功能。必须禁止其分页功能才可以。2010-02-02
ComboBox 和 DateField 在IE下消失的解决方法
开发过程中却遇到了在 IE 浏览器中放大、缩小窗口大小会导致这两个组件消失不见不报任何错误且在其他浏览器正常,通过本文你将学会如何解决此问题2013-08-08
ExtJs 学习笔记 Ext.Panle Ext.TabPanel Ext.Viewport
ExtJs 学习笔记基础篇 面板的使用(Ext.Panle、Ext.TabPanel、Ext.Viewport)2008-12-12


最新评论