当前位置:编程学习 > C#/ASP.NET >>

javascript求助·TreeView选中节点,联动文本框显示value

在JS中实现  每次点击TreeView中CheckBox时
控制更新一个文本框显示内容为  所有已选节点 的Valve值拼接字符串

关键是我不知道怎么在JS中遍历TreeView取值···  --------------------编程问答-------------------- 大侠们指导一下··· --------------------编程问答--------------------

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <script type="text/javascript">
    function test()
    {
        var TreeNode=document.getElementById("TreeView1");
        //alert(TreeNode.tagName);//DIV
        
        //        for(var obj in tree)
        //        {
        //            alert(obj.innerHTML);
        //        }
        
        //var nodes=TreeNode.childNodes;//访问DIV和访问document一样
        
        //for(i=0;i<nodes.length;i++)
        //{
            //alert(nodes[i].tagName+" "+nodes[i].nodeName+" "+nodes[i].nodeType);
            //alert(nodes[i].firstChild.tagName+" "+nodes[i].lastChild.tagName);
        //}
        
        dg(TreeNode);
    }
    
    function dg(TreeNode)
    {
        var nodes=TreeNode.childNodes;
        
        for(var i=0;i<nodes.length;i++)//此处如果不加var则i就成为全局变量导致递归不正确、全面
        {
            //alert(nodes[i].tagName);
            //alert(i);
            
            
            if(nodes[i].tagName=="DIV")
            {                
                /*return*/ dg(nodes[i]); //不能使用return,否则会导致递归提前结束
                nodes[i].style.borderStyle="solid";
                nodes[i].style.borderWidth="1px";
                nodes[i].style.borderColor="#ff0";
            }
            else
            {
                /*return*/ GetNodeAttr(nodes[i]);
            }
        }
    }
    
    function GetNodeAttr(node)
    {        
        for(var i=0; i<node.rows[0].cells.length;i++)
        {
            node.rows[0].cells[i].style.borderStyle="solid";
            node.rows[0].cells[i].style.borderWidth="1px";
            node.rows[0].cells[i].style.borderColor="#f0f"
            //alert(node.rows[0].cells[i].children[0].tagName);
            if(node.rows[0].cells[i].children[0].tagName=="DIV" || node.rows[0].cells[i].children[0].tagName=="IMG") //跳过间隔符或者连接线图片
            {
                continue;
            }
            
            var tagA=node.rows[0].cells[i].children[0];
            if(tagA.children.length==0) //大于0的则是折叠按钮
            {
                //alert(node.rows[0].cells[i].children[0].innerText);
                node.rows[0].cells[i].children[0].innerHTML="<b>"+node.rows[0].cells[i].children[0].innerText+"</b>"
            }
        }
    }
    
    function factorial(aNumber) 
    {
          aNumber = Math.floor(aNumber); // 如果这个数不是一个整数,则向下舍入取小于它的最大整数。
            if (aNumber < 0) // 如果这个数小于 0,拒绝接收。
           {    
             return aNumber;
           }
           else if (aNumber == 0)   // 如果为 0,则其阶乘为 1。
           {       return 1;
           }
           else 
           return (aNumber * factorial(aNumber - 1)); // 否则,递归直至完成。
    }
    //alert(factorial(10)); 
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="Button1" type="button" value="button" onclick="test();" />
        
        <asp:TreeView ID="TreeView1" runat="server" ShowLines="True">
        </asp:TreeView>
    </div>
    </form>
</body>
</html>
--------------------编程问答-------------------- 怎么才能取到某一节点的  VALUE呢?

在后台  TreePro.Nodes[i].ChildNodes[o].Value.ToString(); 就可以取到了  ·
JS怎么写·? --------------------编程问答-------------------- 额额额 恩恩······ --------------------编程问答-------------------- 问题尚未解决···· --------------------编程问答-------------------- javascript获取TreeView控件选中节点的Text和Value --------------------编程问答-------------------- 还是处理不了

按pgameli的办法在点击文字部分 也就是<span>时是能取到我要的值了   可点在checkbox上时还是取不到啊···
--------------------编程问答-------------------- 我现在要做的效果是  选中 treeview上的checkbox时获取节点的value···
pgameli那法子不行额·· --------------------编程问答-------------------- 没有结果 继续顶··
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,