如何使用set_id重命名jstree中的node_id?

时间:2014-05-21 22:10:32

标签: javascript jquery jstree

这是我的重命名功能,我尝试过的所有选项都没有,我知道,set_id是要使用的功能,但是如何使用?

 $('#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..

那么如何在jstree中设置node_id?

4 个答案:

答案 0 :(得分:10)

我查看了API http://www.jstree.com/api/#/?q=rename&f=rename_node.jstree,我认为你必须使用obj.node。

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

obj.text应包含节点的新名称,obj.old应包含节点的旧名称。

答案 1 :(得分:1)

您调用node的第一个参数实际上是event对象

创建节点然后更新其自动生成的ID

的示例
$('#jstree').on('create_node.jstree', function (e, obj) {
    #...
    $(this).jstree(true).set_id(obj.node, 42);
}

答案 2 :(得分:0)

在你的on。()函数中尝试以下内容:

 $(this).attr("id", node_id);

答案 3 :(得分:0)

只需在您用于创建节点的元素上设置属性ID。

<div id="jstree">
<ul>
    @foreach($feelings as $feeling)
        <li id="{{{$feeling->id}}}">{{{$feeling->name}}}
            <ul>
                @foreach($feeling->children as $feeling_children)
                    <li id="{{{$feeling_children->id}}}">{{{$feeling_children->name}}}
                        <ul>
                            @foreach($feeling_children->children as $feeling_children2)
                                <li id="{{{$feeling_children2->id}}}">{{{$feeling_children2->name}}}
                                    <ul>
                                        @foreach($feeling_children2->children as $feeling_children3)
                                        <li id="{{{$feeling_children3->id}}}">{{{$feeling_children3->name}}}
                                            <ul>
                                                @foreach($feeling_children3->children as $feeling_children4)
                                                <li id="{{{$feeling_children4->id}}}"> {{{$feeling_children4->name}}}</li>
                                                @endforeach
                                            </ul>
                                        </li>
                                        @endforeach
                                    </ul>
                                </li>
                            @endforeach
                        </ul>
                    </li>
                @endforeach
            </ul>
        </li>
    @endforeach
</ul>