ext 重购 tree

var CheckboxTree = function() {
CheckboxTree.superclass.constructor.call(this, {
renderTo : 'checkboxTree',
title : '所有部门 - ExtJs自带的例子',
height : 300,
width : 400,
frame : false,
useArrows : true, //是否使用箭头样式
autoScroll: true,
animate : true,
enableDD : true,
containerScroll: true,
rootVisible : false,
root: {
nodeType : 'async',
text : '所有部门',
expanded : true,
draggable: false
},
dataUrl : "js/widgets/tree/CheckboxTree.php",
/** 事件监听 */
listeners: {
'checkchange': function(node, checked){
if(checked) node.getUI().addClass('complete');
else node.getUI().removeClass('complete');
}
},
/** 按钮组 */
buttons: [{
text: '得到选中节点值',
scope : this,
handler: function(){
var msg = '', selNodes = this.getChecked();
Ext.each(selNodes, function(node){
if(msg.length > 0){
msg += '';
}
msg += node.text;
});
Ext.Msg.show({
title: '选中内容',
msg: msg.length > 0 ? msg : '无选中',
icon: Ext.Msg.INFO,
minWidth: 200,
buttons: Ext.Msg.OK
});
}
}]
});
};
当然,为了达到更好的效果,还定义了一个 ext 事件,用于实现勾选 / 反选父节点时自动勾选 / 反选所有子节点:

tree.on('checkchange', function(node, checked) {

node.expand();

node.attributes.checked = checked;

node.eachChild(function(child) {

child.ui.toggleCheck(checked);

child.attributes.checked = checked;

child.fireEvent('checkchange', child, checked);

});

}, tree);


Ext.extend(CheckboxTree, Ext.tree.TreePanel);

new CheckboxTree();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值