首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么使TreeView子节点的Check状态与父节点一致?顶者有分

2012-01-18 
如何使TreeView子节点的Check状态与父节点一致?顶者有分!这段代码是树的代码,能够选择当前节点的check时子

如何使TreeView子节点的Check状态与父节点一致?顶者有分!
这段代码是树的代码,能够选择当前节点的check时子节点的状态和父节点一样。
我想加一点功能就是让子节的check为false时,父节点的check为false
但我不懂jscript,不知在哪加
      <script   type= "text/jscript ">
                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;
                                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;
                                                        }
                                                }
                                        }
                                }
                        }
                }
        </script>

[解决办法]
好的.帮顶!^-^
[解决办法]
<script type= "text/jscript "> function UncheckParent (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 = false; } 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) { UncheckParent(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; } } } } } } </script>


[解决办法]
收藏!

热点排行
Bad Request.