Here is what I have done.It took some time but it worked.
checkchange : function(node, checked, opts) {
function clearNodeSelection(node){
//node is not leaf node
console.log(node);
leafNode = node.raw.leaf;
if(!leafNode){
node.cascadeBy(function(node) {
node.set('checked', false);
})
}
}
if(!checked){
console.log("inside !checked : "+checked);
clearNodeSelection(node);
}
function selectParentNodes(node){
var parentNode = node.parentNode;
if(parentNode){
parentNode.set('checked', true);
selectParentNodes(parentNode);
}
}
selectParentNodes(node);
}
Atlast,Thanks @VDP. 'SO' is awesome.