//Node的OnCheck事件处理
function Node_OnCheck(Tree)
{
var NodeIndex=Tree.clickedNodeIndex;
var Node=Tree.getTreeNode(NodeIndex);
var NodeChecked=Node.getAttribute("Checked");
Node.setAttribute("Checked",NodeChecked);
         alert(NodeChecked);//此处为调试用Alert
Tree.queueEvent("oncheck",NodeIndex);
if(Node.getChildren().length>0)
{
SetChildrenNode(Node);
}
}//子Node的处理
function SetChildrenNode(Node)
{
var ThisTree=document.all.<%= TreeView1.ClientID%>;
var Nodes=new Array();
var NodeChecked=Node.getAttribute("Checked");
var NodeIndex=Node.getNodeIndex();
Nodes=Node.getChildren();
var i;
for(i=0;i<Nodes.length;i++)
{
Nodes[i].setAttribute("Checked",NodeChecked);
ThisTree.queueEvent("oncheck",NodeIndex);
if(Nodes[i].getChildren().length>0)
{
SetChildrenNode(Nodes[i]);
}
}
}
//TreeView的初始化
function InitTreeView()
{
var ThisTree=document.all.<%= TreeView1.ClientID%>;
var CheckedTrueNodes=new Array();
CheckedTrueNodes=GetTrueCheckedNode();
var i;
for(i=0;i<CheckedTrueNodes.length-1;i++)
{
var Node=ThisTree.getTreeNode(CheckedTrueNodes[i]);
Node.setAttribute("Checked",true);
}
}//分解字符串,得到由Checked值为true的Node的Index组成的Array
function GetTrueCheckedNode()
{
var CheckedTrueNodes=new Array();
var str_CheckedTrueNodes=document.all.<%= tmp_Data.ClientID%>.value;//hidden,传递从服务器传来的Checked值为truer的Node的Index
CheckedTrueNodes=str_CheckedTrueNodes.split(",");
return CheckedTrueNodes;
}
我实在看不出来哪错了。
OnCheck Checked值被初始化为true的Node时,只要不是根结点,就会出问题,alert出来true,相应Node的checkbox却没选中,alert出来false,checkbox却选中了。
郁闷死了!求求各位高手大侠们99我,告诉我哪错了。
先行谢过,解决就结贴。