第一种写法:
<Listeners>
<CheckChange Fn="checkchange" />
</Listeners>
var checkchange = function (node, checked) {
checkParentNode(node.parentNode, checked);
checkChildNode(node, checked);
};
var checkChildNode = function (node, checked) {
if (node == undefined) {
return;
}
node.data.checked = checked;
node.triggerUIUpdate(checked);
node.eachChild(function (child) {
checkChildNode(child, checked);
});
};
var checkParentNode = function (node, checked) {
if (node == undefined) {
return;
}
allUnchecked = 1;
node.eachChild(function (child) {
if (child.data.checked) {
allUnchecked = 0;
}
});
if (allUnchecked == 1 || checked == true) {
node.data.checked = checked;
node.triggerUIUpdate(checked);
checkParentNode(node.parentNode, checked);
}
};
第二种写法:
<Listeners>
<CheckChange Fn="checkchange" />
</Listeners>
var checkchange = function (node, checked) {
if (checked) {
checkParentNode(node.parentNode, checked);
}
checkChildNode(node, checked);
};
var checkChildNode = function (node, checked) {
if (node == undefined) {
return;
}
node.data.checked = checked;
node.triggerUIUpdate(checked);
node.eachChild(function (child) {
checkChildNode(child, checked);
});
};
var checkParentNode = function (node, checked) {
if (node == undefined) {
return;
}
node.data.checked = checked;
node.triggerUIUpdate(checked);
checkParentNode(node.parentNode);
};