如何在select_node
事件上为jstree添加元数据。这就是我试图添加的方式:
$.ajax({
type : 'GET',
url : '/assessment/getassess',
dataType : 'json',
success : function(jsonData) {
$("#treeViewDiv").jstree({
"themes" : {
"theme" : "classic",
"dots" : true,
"icons" : true,
"url" : "/css/themes/classic/style.css"
},
"json_data" : jsonData,
"plugins" : ["themes", "json_data", "ui", "contextmenu"],
"contextmenu" : {
items : createMenu
}
}).bind("select_node.jstree", function(e, data) {
$(data.rslt.obj).data("jstree").description = "Size: 45units";
});
}
});
答案 0 :(得分:0)
我认为您错误地使用了$.data()
功能。
您不为$.data()
功能的结果指定值,并自动保存。
你想要做的是改变这一行,
$(data.rslt.obj).data("jstree").description = "Size: 45units";
到此,
// On the next line, we use "|| {}" because if the data attribute is unassigned, we want to start with a default empty object.
var jstreeData = $(data.rslt.obj).data("jstree") || {};
// assign the property(ies)/value(s) you want.
jstreeData.description = "Size: 45units";
// finally, reassign your modified object back to the data attribute.
$(data.rslt.obj).data("jstree", jstreeData);
如果数据属性由对象组成,则您需要:
最后,要修改data
属性,您希望使用$.data( key, value )
函数重载。