2017-05-12 15 views
0

jstree javascriptライブラリhttps://www.jstree.com/を使用してツリーを作成しています。現在のノードのすぐ後ろに兄弟として新しいノードを作成する必要があります。ノード(jstree)の直後にノードを追加する

  • Elemの1
  • Elemの2
  • のElem私はElemの2つの新しいノード上でクリックしたときに私のポイントは3

はElemの2.5言うが3

Elemの2とElemの間に追加されます

その結果: -

  • Elemの1
  • Elemの2
  • Elemの2.5
  • Elemの3私の現在のコード

:この新しいによって $(".appendTree").jstree('create_node', CurrentNode, html, 'last');

は、ノードが常に存在end.is処理する任意のAPIまたは回避策に追加されますこの??

+0

問題を解決しましたか? –

+0

はい、私はjstree.create method.Thereにいくつかの変更を加えました。 "after"メソッドがありました。次の手順に従ってメソッドを変更しました。まず現在のノードのインデックスを見つけて、次にインデックス+ :) –

答えて

0

現在のフォルダー内の選択したノードの現在のインデックスを把握してから、の代わりにcreate_nodeメソッドにインデックスを渡す必要があります。以下のコードを参照してください。デモを確認する - 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); 
    }); 
関連する問題