1

是否可以在创建节点后使用 java 脚本提示符中的值重命名节点标题?

![用户右键在树上创建新节点][1] 创建新节点后,用户会自动跳到弹出菜单并要求输入节点名称

用户创建新节点:http: //i.stack.imgur.com/X6hIl.png

用户提示输入新节点名称:http://i.stack.imgur.com/WJmJw.png

并且节点名称将自动从用户的值重命名

这样做的目的是因为弹出屏幕实际上会从数据库中执行查询操作并将特定字符串作为节点标题发送回

这些是从树上下文菜单中获取弹出窗口的脚本。

    $(function () {
        $("#demo1").jstree({ 
    "plugins" : [ "themes", "html_data", "crrm", "contextmenu" ]
        })
        .bind( "rename_node.jstree", function (e, data) {    
    var data = prompt("enter node name ");
        });
    });
4

1 回答 1

2

无需绑定到 rename_node 事件处理程序。您可以重写上下文菜单“重命名”对象以运行您自己的自定义函数。

$(function () {
 $("#demo1").jstree({   
    "contextmenu" : {
        items : { // Could be a function that should return an object like this one
            "create" : false,
            "rename" : {
                            "_class"            : "myClass",
                            "separator_before"  : false,
                            "separator_after"   : false,
                            "label"             : "Rename Node",
                            "action"            : function (obj) {
                                                    //Do some action here or pass the object to another function
                                                    //ex: myFunc(obj);
                                                    $(obj).find("a:first").text("My new node label.");
                                                }
                        },
            "remove" : false,
            "ccp" : false
        }
    },
    "plugins" : [ "themes", "html_data", "crrm", "contextmenu" ]
 });
});
于 2012-04-11T22:45:48.667 回答