Javascript遍历读取TreeView选中节点值

本文介绍了一个 ASP.NET 应用中树形控件的使用方法,包括如何设置点击事件、实现节点的选择与取消选择功能以及获取所有被选中节点的 ID 值。通过 JavaScript 实现了对树形结构的遍历和数据收集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        if (!IsPostBack)
        
{
            TreeView.Attributes.Add(
"oncheck""tree_oncheck()");
        }
 

 

 

 

<script language="javascript">
<!--
//点击树结点
function tree_oncheck()
{
    
    
var data = "";
    
var node = TreeView.getTreeNode(event.treeNodeIndex);
    
var Pchecked = node.getAttribute("checked");
    
    setcheck(node, Pchecked);

   
   
//遍利整个树读取选中结点的值 
    document.getElementById("txtData").value ="";
    
var ChildNode = new Array();
    ChildNode 
= TreeView.getChildren();
    
    
for(var i = 0 ; i < parseInt(ChildNode.length) ; i++)
    
{
        
//alert(ChildNode[i].getAttribute("id"));
        getValue(ChildNode[i])
    
    }

    

     document.getElementById(
"txtData").value =  document.getElementById("txtData").value.substring(0, document.getElementById("txtData").value.length-1);
    
}


//读取选中结点的值
function getValue(node)
{
    
var ChildNode = new Array();
  
    ChildNode 
= node.getChildren();
    
    
if (parseInt(ChildNode.length) != 0)
    
{
        
for (var i = 0; i < ChildNode.length; i++)
        
{
            
var cNode = ChildNode[i];
            
            
if (cNode.getAttribute("checked"== true)
            
{
                document.getElementById(
"txtData").value += cNode.getAttribute("id").substring(1,cNode.getAttribute("id").length)+",";
            }

            
            
if (parseInt(cNode.getChildren().length) != 0)
                getValue(cNode);
        }

    }



}


//全选
function setcheck(node, Pc)
{
    
var ChildNode = new Array();
    ChildNode 
= node.getChildren();
    
    
if (parseInt(ChildNode.length) != 0)
    
{
        
for (var i = 0; i < ChildNode.length; i++)
        
{
            
var cNode = ChildNode[i];
            
            
if (cNode.getAttribute("checked"!= Pc)
            
{
                
if (parseInt(cNode.getChildren().length) != 0)
                    setcheck(cNode, Pc);
                    
                cNode.setAttribute(
"checked", Pc);
                    
                
//TreeView.queueEvent('oncheck', cNode.getNodeIndex());
            }

        }

    }

}





//-->
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值