How do I open all nodes in jquery Jstree? How do I open all nodes in jquery Jstree? jquery jquery

How do I open all nodes in jquery Jstree?


The jsTree documentation is "sub optimal". The docs don't clearly state that the initialization works asynchronously. There's core.loaded():

A dummy function, whose purpose is only to trigger the loaded event. This event is triggered once after the tree's root nodes are loaded, but before any nodes set in initially_open are opened.

This suggests an event loaded.jstree is fired after the tree is setup. You can hook into that event to open all your nodes:

var $treeview = $("#treeview");$treeview  .jstree(options)  .on('loaded.jstree', function() {    $treeview.jstree('open_all');  });


I am using version 3 of jstree and Chrome. The loaded event did not work for me, but the ready event did, even after the jstree instance was created:

$('#treeview').on('ready.jstree', function() {    $("#treeview").jstree("open_all");          });

http://www.jstree.com/api/#/?q=.jstree%20Event&f=ready.jstree


If you want open all node when tree loaded:

$("#treeview")    // call `.jstree` with the options object    .jstree({        "plugins" : ["themes", "html_data","ui","crrm","sort"]    })     .bind("loaded.jstree", function (event, data) {        // you get two params - event & data - check the core docs for a detailed description        $(this).jstree("open_all");    })      });