How can I rename a jsTree node How can I rename a jsTree node jquery jquery

How can I rename a jsTree node


The recommended method is to use rename_node

$("#demo1").jstree('rename_node', node , text );

Please keep in mind that by default all modifications to the tree are prevented (create, rename, move, delete). To enable them set core.check_callback to true

$('#demo1').jstree({    'core': {        'check_callback': true,        /// rest of the options...    }});

Rename your node (alternative, not recommended)

$("#demo1").jstree('set_text', node , text );

Debugging

If you still encounter trouble, you can use this method to get the last error.

$('#demo1').jstree(true).last_error()

For older versions (v1.*)

$("#demo1").jstree('rename_node', [node , text] ); $("#demo1").jstree('set_text', [node , text] ); 

See also:


I believe there is an syntax error with respect to the square braces "[" in the above answer. I use jsTree 3.0.4 and this is the correct syntax -

right -    $("#demo1").jstree('set_text',node,text);wrong -    $("#demo1").jstree('rename_node', [node , text] );    Example - $("#tree_3").jstree('set_text',"#idSelectorForNode" ,"NewName");


You should turn on the switch to allow the rename operation, such as:

$('#container').jstree({    'core' : {        'check_callback' : function (operation, node, node_parent, node_position, more) {            // operation can be 'create_node', 'rename_node', 'delete_node', 'move_node' or 'copy_node'            // in case of 'rename_node' node_position is filled with the new node name            return operation === 'rename_node' ? true : false;        }});