2017-09-28 6 views
0

Ich bin mit der einer Baumansicht/Baumes Raster-Plugin, das fancytree genannt wird (Here is the link)Wie man fancytree SelectMode bei einem Button-Click-Event ändert?

ich zunächst (wenn die Seite geladen) den select bis 2, die die Benutzer mehr Optionen auswählen kann.

 // 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 
       }; 
      } 
     }); 
    }); 

Was ich tun möchte, ist, wenn ich auf eine Schaltfläche klicken, möchte ich die select ändern und setzen Sie ihn auf 1 oder 3 ich versucht habe, durch die Dokumentation zu lesen und fand this as well Aber ich wird nicht funktionieren. Hier ist ein Code:

 //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(",")); 
     } 
    }) 

Kann mir bitte jemand helfen? Vielen Dank im Voraus!

Antwort

Verwandte Themen