javascriptjqueryjstree

how to use set_id to rename node_id in jstree?


this is my rename function, none of the options i've tried work, i do know, that set_id is the function to use but how?

 $('#jstree').on('rename_node.jstree', function (node,obj) {

    var node_id = "calculated"// calculate node_id
    // tried the following 3 options ..
   ....

     $('#jstree').jstree(true).set_id(obj,node_id); //not working

     obj.instance.set_id(this,node_id)// not working either
     obj.instance.set_id(obj,node_id)//nope..

So how do i set the node_id in jstree?


Solution

  • I looked at the API http://www.jstree.com/api/#/?q=rename&f=rename_node.jstree, and I think you have to use obj.node.

    $('#jstree').jstree(true).set_id(obj.node,node_id);
    

    obj.text should contain the new name of the node, and obj.old the old name of the node.

    EDIT: The link to the API documentation does not match the code example.

    Here are the correct links:

    1. To set the ID of a node: https://www.jstree.com/api/#/?f=set_id(obj,%20id)
    2. To rename the node (set the text value): https://www.jstree.com/api/#/?f=rename_node(obj,%20val)