2017-05-12 3 views
0

Ich erstelle einen Baum mit jstree Javascript-Bibliothek https://www.jstree.com/ .Ich muss einen neuen Knoten nur nach dem aktuellen Knoten als Geschwister erstellen.Hinzufügen eines Knotens direkt nach einem Knoten (jstree)

  • Elem 1
  • Elem 2
  • Elem 3

Mein Punkt ist, wenn ich auf Elem klicken 2 ein neuer Knoten sagen Elem 2.5 hinzugefügt wird zwischen Elem 2 und Elem 3

so ergeben: -

  • Elem 1
  • Elem 2
  • Elem 2.5
  • Elem 3

Mein aktueller Code: $(".appendTree").jstree('create_node', CurrentNode, html, 'last');

von dieser neuen, Knoten sind immer an den end.is es eine api oder Abhilfe hinzugefügt zu handhaben Dies??

+0

Haben Sie Ihr Problem gelöst? –

+0

Ja, ich machte einige Änderungen in der Methode jstree.create. Es gab eine "nachher" -Methode, ich änderte die Methode gemäß der folgenden Prozedur, zuerst finde ich den aktuellen Index des Knotens, dann habe ich einen neuen Knoten am Index + 1 Position gelöst :) –

Antwort

0

Sie müssen den aktuellen Index für den ausgewählten Knoten im aktuellen Ordner herausfinden, dann übergeben Sie den Index create_node Methode anstelle Ihrer last. Siehe Code unten. Überprüfen Sie die Demo - Fiddle Demo.

$('.appendTree') 
     .jstree({ 
     core : { 
      check_callback : true, 
      data : coredata 
     } 
    }) 
    .on("select_node.jstree", function (e, data) { 
     var $parent = $('#'+data.node.id).parent(); 
       var index = $parent.children().index($('#'+data.node.id)) +1; 

     if(data.node.parent === '#') { 
      $parent = '#'; 
     } 

     $(".appendTree").jstree('create_node', $parent, 'new node', index); 
    }); 
Verwandte Themen