2017-02-23 11 views
0

jsTreeを使用しています。ファイルを削除すると、そのページはリフレッシュされません。このコードを使用しようとしています:jsTreeは、削除後にページを更新します。

elem.jstree("refresh"); 

しかし、何もしません。コンソールにエラーや有用なメッセージはありません。ファイルマネージャを構築し、これを使用して

elem.jstree({'core': 
    { 
     'data': files, 
     'themes' : { 'name' : 'default-dark-large' }, 
     'dblclick_toggle': false, 
     'check_callback' : function (operation) 
     { 
      return operation === 'rename_node' || 'delete_node' ? true : false; 
     } 
    }, 
     'plugins': ['sort', 'types', 'wholerow'], 
     'types' : { 'file' : { 'icon' : 'jstree-file' } } 
    }) 

     $(window).keyup(function (e) 
    { 
     if (e.originalEvent.keyCode === 17) 
     { 

      e.preventDefault(); 

      var old_value = e.target.innerText, 
       splitted_old_value = old_value.split('.'); 

      var finded = file_obj.getSubMenuItem(files, old_value); 
      finded.text = old_value; 

      var splitted_old_path = finded.path.split('/'); 
      splitted_old_path[splitted_old_path.length-1] = old_value; 
      var new_path = splitted_old_path.join('/'); 
      console.log("Path: " + new_path); 

      elem.jstree("refresh"); 

      $.ajax({ 
       method: 'post', 
       url: 'ajax_manager.php?link=deleteFile', 
       data: { file: new_path }, 
       dataType: 'json', 
       success: function (result) 
       { 
        if (result !== false) 
        { 
         swal({ 
          type: "success", 
          title: 'Sikeres törlés!', 
          timer: 1000 
         }); 
        } 
        else 
        { 
         swal('A tartalom változtatása sikertelen!'); 
        } 
       }, 
       error: function(jqXHR) 
       { 
        console.log(jqXHR.responseText); 
       } 
      }) 


     } 
    }); 

誰もが、私を助けてくださいことができますか?

+0

ファイルの削除方法をご提示ください。あなたはノードを削除しますか? –

+0

いいえ、私はクリックしたファイルをunlickするためにphpを送るajaxリクエストで削除します、私はコードで最初の投稿を更新しました – Achy

+0

ajaxコールとツリーは共通していますか?あなたが監視する 'ctrl'ボタンは、ツリー内で何か起こっていますか?削除するツリーノードをどのように把握できますか? –

答えて

0

あなたのajax呼び出しが成功すると、jstree apiに示されているようにdelete_node (obj)を使用してjsツリーからノードを削除する必要があります。

これで、ツリーデータを変更せずにリフレッシュを呼び出すことができます。

関連する問題