> 웹 프론트엔드 > JS 튜토리얼 > JS 컨트롤 ASP.NET의 treeview 컨트롤은 모두 선택하거나 취소합니다(샘플 코드)_javascript 기술

JS 컨트롤 ASP.NET의 treeview 컨트롤은 모두 선택하거나 취소합니다(샘플 코드)_javascript 기술

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-05-16 17:08:57
원래의
1210명이 탐색했습니다.

코드 복사 코드는 다음과 같습니다.

중간에 CheckNode(currentNode), ParentNode(currentNode), ChildNode(currentNode)를 추가합니다. 2. *.aspx.cs의 Page_load() 이벤트에 yourTreeView.Attribute.Add("OnCheck","CheckNode(yourTreeView.getTreeNode(yourTreeView.clickedNodeIndex))")를 추가합니다.

*/

//모든 하위 노드를 재귀적으로 순회
function CheckNode(currentNode)
{
var childNode=new Array()
var parentNodeChild=new Array()
var isChecked;
childNode=currentNode.getChildren();
if(currentNode.getAttribute('checked'))
{
isChecked=true;
}
else
{
isChecked=false;
}
//상위 노드 처리
if(currentNode.getParent()!=null)
{
//선택된 처리
if(currentNode.getAttribute ('선택됨'))
{
ParentNode(currentNode);
}
else
//선택 취소
{
ChildNode(currentNode)
}
}
else
{
//아무 작업도 하지 않음
}
//하위 노드 처리
if(childNode.length>0)
{
for(var i=0;i {
childNode.setAttribute("Checked",isChecked)
if(childNode.getChildren().length>0)
{
CheckNode(childNode)
}
}
}

}
//재귀적으로 상위 노드 선택
function ParentNode(currentNode)
{
if(currentNode.getParent()!=null)
{
currentNode.getParent().setAttribute('Checked',true)
//재귀적으로 ParentNode(currentNode)를 호출하여 업데이트를 트래버스합니다. 이전 레이어의 노드
ParentNode(currentNode.getParent());
}
}
//재귀적으로 상위 노드 선택 취소
function ChildNode(currentNode)
{
if(currentNode.getParent()!=null)
{ var checkCount=0;
var childNode=currentNode.getParent().getChildren()
for (var i=0; i {
if(childNode.getAttribute('Checked'))
{
selectedCount ;
}
}
if(checkedCount= =0)
{
currentNode.getParent().setAttribute('Checked',false);
}
//재귀적으로 ChildNode(currentNode)를 호출하여 상위 수준 부모 노드를 순회합니다.
ChildNode (currentNode) .getParent()); 문제




코드 복사

코드는 다음과 같습니다.

 var   AllRootNode=new   Array();  
    AllRootNode=TreeView1.getChildren();  
    AlertNode(AllRootNode);        

    함수   AlertNode(NodeArray)  
    {  
      if(parseInt(NodeArray.length)==0)  
        return;  
      else  
      {  
        for(i=0;i        {  
          var   cNode;  
          cNode=NodeArray;  
          Alert(cNode.getAttribute("Text"));  
          if(parseInt(cNode.getChildren().length)!=0)  
            AlertNode(cNode.getChildren());          
        }  
      }  
    } 

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿