javascript设置Treeview中的checkbox问题.

osborne 2003-12-25 08:18:58
根据初始值,用javascript设置treeview中相就的checkbox,根级的checkbox始终不能全选, 不知是何故.
javascript展开树也是如何,根级的node始终不展开, 点击展开后,里面的树全已经展开了,何故?
...全文
50 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hehe2chen 2003-12-30
  • 打赏
  • 举报
回复
up
osborne 2003-12-30
  • 打赏
  • 举报
回复
up
osborne 2003-12-26
  • 打赏
  • 举报
回复
这是初始化Treeview的checkbox的.调用initTreeNode(); 
window.right_assign.Text1保存id的字符串.
// °´ÌṩµÄÖµ£¬ÉèÖóõʼÊ÷Öб»Ñ¡ÖеÄCheckbox.
function initTreeNode()
{
var idStr=window.right_assign.Text1.value;
if (idStr!='')
{
var idArray=new Array();
var i=0,j=0;
while(i!=-1)
{
i=idStr.indexOf(',');
if(i!=-1)
idArray[j]=idStr.substr(0,i);
else
idArray[j]=idStr.substr(0);
idStr=idStr.substr(i+1);
j=j+1;
}
//µÝ¹éÐÎʽ
changeNode(window.parent.columnRightTree,idArray);
}
}

function changeNode(node,mArray)
{
var NodeArray=new Array();
NodeArray=node.getChildren();
for(var i=0;i<NodeArray.length;i++)
{
cNode=NodeArray[i];
var m_i;
for(m_i=0;m_i<mArray.length;m_i++)
{
if(cNode.getAttribute("ID")==mArray[m_i])
{
//cNode.setAttribute('Checked',true);
setCheckOn(cNode);
expandNode(cNode);
}
}
if (cNode.getChildren().length>0)
changeNode(cNode,mArray);
}
}
function setCheckOn(mNode)
{
mNode.setAttribute('Checked',true);
var ParentNode = mNode;
while ((ParentNode=ParentNode.getParent()) != null)
{
var j = 0;
var BrotherNodes = new Array();
BrotherNodes = ParentNode.getChildren();
for (i = 0; i < BrotherNodes.length; i ++)
{
if (BrotherNodes[i].getAttribute("checked") == true)
{
j = j + 1;
}
else {
i = i + 1;
break;
}
}
if (i == j)
{
ParentNode.setAttribute("checked", "true");
}
else {
break;
}
}
}
/////////////////////////////////////////////////////////////////////
// Õ¹¿ª½áµã
function expandNode(node)
{
var ParentNode = node;
while ((ParentNode=ParentNode.getParent()) != null)
{
if(ParentNode.getAttribute("Expanded") != true)
ParentNode.setAttribute("Expanded","True");//展开
//ParentNode.Expanded = true;
}
}
osborne 2003-12-26
  • 打赏
  • 举报
回复
没人啊? 顶顶!
孟子E章 2003-12-25
  • 打赏
  • 举报
回复
看你的代码

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧