jstree1.0版异步树中绑定loaded事件,让树全部展开。
.bind("loaded.jstree", function (event, data) {
$("#aaa").jstree("open_all");
alert("TREE IS LOADED");
//在此处写了勾选复选框的代码
}) 在alert("TREE IS LOADED"); 后,从数据库中读取了对应的节点ID,用以勾选树节点。但现在的问题是loaded.jstree事件好像每次都是在载入第一层节点后就会弹出TREE IS LOADED,这样的话没办法去复选子节点了。 请问各位有没有办法可以判断出是所有的异步节点都已载入完成呢? 不知有没有说清楚,分不够再加。
.bind("loaded.jstree", function (event, data) {
$("#aaa").jstree("open_all");
alert("TREE IS LOADED");
//在此处写了勾选复选框的代码
}) 在alert("TREE IS LOADED"); 后,从数据库中读取了对应的节点ID,用以勾选树节点。但现在的问题是loaded.jstree事件好像每次都是在载入第一层节点后就会弹出TREE IS LOADED,这样的话没办法去复选子节点了。 请问各位有没有办法可以判断出是所有的异步节点都已载入完成呢? 不知有没有说清楚,分不够再加。
--------------------------------------签名分割线-------------------------------------------------
--------------------------------------签名分割线-------------------------------------------------
$("#demo2").jstree({
"json_data" : {
"ajax" : {
"url" : "_json_data.json",
"data" : function (n) {
return { id : n.attr ? n.attr("id") : 0 };
}
}
},
"plugins" : [ "themes", "json_data" ]
});
}); 这样的代码我觉得挺好啊,
再说了,如果量大的话,你要一次取出来所有的子节点?
应该是展开的时候ajax请求读取子节点这样吧?
--------------------------------------签名分割线-------------------------------------------------
1、虽然树节点的量并不是太大,但每次需要牵扯几个表做循环感觉比较麻烦而且效率不高。
2、就是树节点的读取程序是公用的,在几个不同的页面中表现形式不同,所以想着还是在前台做一些工作比较好。我试了在异步情况下用loaded.jstree时好像每次只载入第一层节点时就被触发了,而我想要的是全部节点都载入完成后触发。最后用了ajaxStop,解决问题。