我在创建新节点时使用了contextmenu插件,然后让我自己的函数使用ajax post back创建新节点。
$("#tree").jstree({
//....
"plugins": ["themes", "json_data", "crrm", "contextmenu", "dnd", "ui", "cookies"]
})
//...
.bind("create.jstree", function (e, data) {
//...
$.ajax({
type: "POST",
//...
});
});
点击“创建”时,我想将“新节点”的默认标签更改为“新建文件夹”。 任何帮助将不胜感激。
答案 0 :(得分:12)
以下是如何在jsTree v.3中更改字符串。请注意,这与早期版本不同,因为密钥是您要更改的文本('New node'
而不是new_node
):
$("#content_tree").jstree({
core: {
strings : {
'New node': 'Your Text'
}
}
});
答案 1 :(得分:3)
以下是更改上下文菜单选项的方法
$("#tree").jstree({
"plugins": ["themes", "html_data", "ui", "crrm", "contextmenu"],
"contextmenu": {
"items": function ($node) {
return {
"Create": {
"label": "New Folder",
"action": function (obj) {
this.create(obj);
}
}
};
}
}
});
更新
您可以在jquery.jstree.js文件中找到此部分
if(!js.data) { js.data = this._get_string("new_node"); }
将此部分更改为
if(!js.data) { js.data = this._get_string("new folder"); }
答案 2 :(得分:1)
根据文档,您只需在核心设置中定义字符串参数。
例如:
$("#content_tree").jstree({
core: {
animation: 100,
strings : { loading : "Loading ...", new_node : "New folder" }
},
"plugins" : [ "themes", "html_data"]
});
答案 3 :(得分:1)
初始化create_node
事件后添加行
data.node.text = 'My Custom Name';
示例:
$('#selector').jstree( ... ).on('create_node.jstree', function (e, data) {
data.node.text = 'My Custom Name';
...
});
添加
答案 4 :(得分:0)
感谢您的帮助。我在默认情况下将新节点更改为jquery.jstree.js文件中的新文件夹并且它有效。再次感谢你。
$.jstree.plugin("core", {
__init : function () {
this.data.core.locked = false;
this.data.core.to_open = this.get_settings().core.initially_open;
this.data.core.to_load = this.get_settings().core.initially_load;
},
defaults : {
html_titles : false,
animation : 500,
initially_open : [],
initially_load : [],
open_parents : true,
notify_plugins : true,
rtl : false,
load_open : false,
strings : {
loading : "Loading ...",
new_node : "New folder",
multiple_selection : "Multiple selection"
}
},