想要实现级联选择。
以下代码,使用的是Ext3.2Example 里面的checktree例子,
但是发现toggleCheck()会触发事件。
check子节点时,使用parentNode.getUI().toggleCheck(true)选中父节点,会触发父节点被选中的事件。
请问这里如何处理呢?
使用parentNode.attributes.checked=true可以赋值,但是checkbox框没有被选中状态。
[code="java"]
listeners: {
'checkchange': function(node, checked){
node.expand();
var parentNode = node.parentNode;
if(checked){
node.getUI().addClass('complete');
if(parentNode){
//如果是选中,把父节点保持选中状态
parentNode.getUI().toggleCheck(true);
}
}else{
node.getUI().removeClass('complete');
if(parentNode){
var chk = false;
parentNode.eachChild(function(child) {
if(child && child.getUI().isChecked())
chk = true;
});
parentNode.getUI().toggleCheck(chk);
}
}
node.eachChild(function(child) {
child.getUI().toggleCheck(checked);
});
}
},
[/code]