js如何获取treeview选中节点的值, 在通过按钮确认吧选中的值传在另外一个页面请问谁有JS获取treeview选中节点好方法,急用,  谢谢     

解决方案 »

  1.   

    我曾经试着JS遍历过treeview  遍历出来的就没有那个层次结构了 
      

  2.   

    点击treeview 的treenode后  肯定要触发后台代码的建议你用下iframe好了  
      

  3.   

    <asp:TreeView ID="TreeView1" runat="server" onclick="javascript:client_OnTreeNodeChecked();" NodeIndent="10" ShowCheckBoxes="All" ShowLines="True"> 
    function checkParent (obj) 
            { 
                while(obj != null) 
                { 
                    var tagName = obj.tagName.toLowerCase(); 
                    if(tagName == "div" && obj.id == "TreeView1") 
                    { 
                        return; 
                    } 
                    
                    if(tagName == "table") 
                    { 
                        var checkBox = obj.getElementsByTagName("INPUT"); 
                        if(checkBox.length >0) 
                        { 
                            checkBox[0].checked = true; 
                        } 
                        obj = obj.parentElement.previousSibling; 
                    } 
                    else 
                        obj = obj.parentElement; 
                } 
            } 
                        
            function client_OnTreeNodeChecked() 
            { 
                var obj = window.event.srcElement; 
                var treeNodeFound = false; 
                var checkedState; 
                if (obj.tagName == "INPUT" && obj.type == "checkbox") 
                { 
                    var treeNode = obj; 
                    checkedState = treeNode.checked; 
                    
                    if(checkedState) 
                    { 
                        checkParent(obj); 
                    } 
                    
                    do 
                    { 
                        obj = obj.parentElement; 
                    } 
                    while (obj.tagName != "TABLE") 
                    
                    var parentTreeLevel = obj.rows[0].cells.length; 
                    var parentTreeNode = obj.rows[0].cells[0]; 
                    
                    var tables = obj.parentElement.getElementsByTagName("TABLE"); 
                    var numTables = tables.length 
                    if (numTables >= 1) 
                    { 
                        for (i=0; i < numTables; i++) 
                        { 
                          if(tables[i] == obj) 
                          { 
                                treeNodeFound = true; 
                                i++; 
                                if(i == numTables) 
                                { 
                                    return; 
                                } 
                            } 
                            if (treeNodeFound == true) 
                            { 
                                var childTreeLevel = tables[i].rows[0].cells.length; 
                                if (childTreeLevel > parentTreeLevel) 
                                { 
                                    var cell = tables[i].rows[0].cells[childTreeLevel - 1]; 
                                    var inputs = cell.getElementsByTagName("INPUT"); 
                                    inputs[0].checked = checkedState; 
                                } 
                                else 
                                { 
                                    return; 
                                } 
                            } 
                        } 
                    } 
                } 
            } 
    http://topic.csdn.net/u/20100524/17/6f38c355-6f99-49b5-8e62-2bcb2dc72385.html