日期:2014-05-17  浏览次数:20542 次

UltraWebTree checkbox的级联选择问题。
只要点中父节点 子节点全选中`````点中一个子节点 父节点也选中``` 
高手们给出代码。
 function NodeChecked(treeName, id, bChecked) {
  //alert("good");
  alert(bChecked);
  //alert(treeName);
  //alert(id);
  var node = igtree_getNodeById(id);
  alert(node.getText());
  //var node = tree.getSelectedNode();
   
  
  var subNodes=node.getChildNodes();
  var x;
  for(x in subNodes)
  {
  subNodes[x].setChecked(bChecked);  
  }
}可是实现父结点选中子结点也选中.

 function NodeChecked(treeName, id, bChecked) {
  //alert("good");
  alert(bChecked);
  //alert(treeName);
  //alert(id);
  var node = igtree_getNodeById(id);
  alert(node.getText());
  //var node = tree.getSelectedNode();
   
  
  var tempnode=node.getParent();
  if (tempnode!=null && bChecked)
  {
   
  tempnode.setChecked(bChecked);
   
  }
}
}
实现了选中子结点,父节点也选中。
当时两个函数放在一起就死循环了。原因就在于 tempnode.setChecked(bChecked);这句触发了NodeChecked事件。所以就出现死循环 了。该怎们做?

------解决方案--------------------
http://www.cnblogs.com/zuifengke/archive/2011/04/15/2017140.html
使用心得