2017-09-28 1 views
0

내가 fancytree 호출되는 트리 뷰/트리 그리드 플러그인을 사용하고 (Here is the link)버튼 클릭 이벤트에서 fancytree SelectMode를 변경하는 방법은 무엇입니까?

내가 처음 (페이지가로드 될 때) 사용자가 여러 옵션을 선택할 수 있도록 2로를 SelectMode을 설정합니다. 내가 버튼을 클릭하면

 // Init 
    $("#Organizations .OrgTree").each(function() { 
     var $this = $(this); 
     var organizationUnitId = $this.data("orgid"); 
     //var treeData = JSON.parse($("#treeData_" + organizationUnitId).val());   
     $this.fancytree({ 
      extensions: ["persist"], 
      selectMode: 2, 
      persist: { 
       expandLazy: true 
       store: "auto" 'session': sessionStore 
      }, 
      icons: false, 
      checkbox: true, 
      toggleEffect: null, //disable animations 
      source: window["treeData_" + organizationUnitId], // treeData    
      lazyLoad: function (event, data) { 
       var node = data.node; 
       data.result = { 
        // Some data 
       }; 
      } 
     }); 
    }); 

는 내가하고 싶은, 나는를 SelectMode을 변경하고 나는이 문서를 읽으려고 한 1 또는 3 로 설정하려는 발견 this as well 하지만 작동하지 않습니다. 다음은 몇 가지 코드입니다.

 //Bind click to search button 
    $("#changeSelectModeBtn").click(function() { 

     debugger; 
     $("#Organizations .OrgTree").fancytree("getTree").visit(function (node) { 
      node.setSelected(false); 
     }); 

     $("#Organizations .OrgTree").fancytree({ selectMode: 3 }); 

     var selectedKeys = []; 

     $("#Organizations .OrgTree").each(function() { 

      var $this = $(this); 
      var orgTree = $(this).fancytree("getTree"); 
      var selectedParentNodes = orgTree.getSelectedNodes(); 
      for (node in selectedParentNodes) { 
       selectedKeys.push(selectedParentNodes[node].key) 
      } 

      // Save orgtree in hidden fields 
      var organizationUnitId = $this.data("orgid"); 
      var treeData = orgTree.toDict(true); 
      window["treeData_" + organizationUnitId] = treeData.children; //$("#treeData_" + organizationUnitId).val(JSON.stringify(treeData.children)) 

     }); 

     if (selectedKeys) { 
      $("#HiddenOrganizationUnitIds").val(selectedKeys.join(",")); 
     } 
    }) 

나를 도와 줄 수있는 사람이 있습니까? 미리 감사드립니다.

답변

1

모든 옵션은 jQuery 위젯 패턴을 사용하여 동적으로 설정할 수 있습니다. 예를 들어, 당신은 또한 https://github.com/mar10/fancytree/wiki#configure-options

+0

그것은 포스트 쓴 누군지했다

$("#tree").fancytree("option", "selectMode", 3); 

참조 사용할 수 있습니다. 하지만 다시 한번 고마워. :) – arvind

관련 문제