2010-09-10 40 views

Trả lời

65

Hóa ra là cũng đơn giản như cách gọi:

tree.jstree("refresh"); 
24
var tree = jQuery.jstree._reference("#files"); 
tree.refresh(); 

hoặc

var tree = jQuery.jstree._reference("#files"); 
var currentNode = tree._get_node(null, false); 
var parentNode = tree._get_parent(currentNode); 
tree.refresh(parentNode); 
+2

tôi cần để nạp lại chỉ là một nút cụ thể. Cảm ơn lời khuyên hữu ích này. – DavidHyogo

+42

API jsTree là đau – kilonet

+2

Có, tôi không thích nó, thậm chí v3 aPI, giống như Internet Explorer. –

9

cho jstree3. Tôi sử dụng tiêu diệt() chức năng và một lần nữa tạo ra cây chạy jstree() chức năng

+3

Trên thực tế, đó là một sự kiện, nhưng nó đã giúp. 'tree.jstree (" destroy ")' –

44

Tại phiên bản 3, bạn có thể tải lại cây:

$('#treeId').jstree(true).settings.core.data = newData; 
$('#treeId').jstree(true).refresh(); 
+3

Điều này làm việc cho tôi, vì dữ liệu JSON của tôi đến từ một số hàm khác và không phải là AJAX – TechMaze

+0

Tôi phải đặt tham số thứ hai làm mới thành true: tree.jstree (true) .refresh (sai đúng); – jeffslofish

+0

khi sử dụng AJAX tôi đã phải chuỗi '.url' ->' jstree (true) .settings.core.data.url = "/ new/data/url" ' – okliv

0

$('#treeId').data('jstree', false).empty().jstree(json);

Các vấn đề liên quan