当使用create_node添加节点时,jsTree只显示最后一个根节点
jsTree shows only the last root node when nodes are added using create_node
我已经创建了一个jtree
$('.containerTree').jstree({
"core": {
"check_callback": true,
"data": ["Root"]
}
});
添加脚本:<link rel="stylesheet" href="~/Content/bootstrap.css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/jstree/3.0.1/themes/default/style.min.css" />
<script src="~/Scripts/jquery-3.1.0.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jstree/3.0.9/jstree.min.js"></script>
所以,我想创建并显示一个包含子节点的根节点列表。为此,我在循环中使用"create_node"函数:
for (var iteration = 0; iteration < 10; iteration++) {
var newNodes= $(".containerTree").jstree("create_node",null,"root"+iteration, "last", function (node) {
for (var i = 0; i < 10; i++) {
var newDataChild = {
"text": "child" + i,
"id": "child" + i
};
tree.create_node(node, newDataChild, "last", function (newChild) {
});
}
});
我期望看到这样的结果:
Root1
----child1
...
RootN
----child1
..........
结果创建节点,但只显示最后一个根节点。谁能解释为什么会这样?
您需要解决两个问题:
-
tree.create_node(...
- tree变量没有定义 -
.create_node
-最好使用与第一次相同的方法
正确的代码如下所示。检查demo - demo Fiddle
var $tree = $(".containerTree");
for (var iteration = 0; iteration < 10; iteration++) {
$tree.jstree("create_node",null,"root"+iteration, "last", function (node) {
for (var i = 0; i < 10; i++) {
var newDataChild = {
"text": "child" + i,
"id": "child" + i
};
$tree.jstree("create_node", node, newDataChild, "last");
}
});
}
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 音频控件在mouseover上显示,在mouseout上淡出
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 在jstree中,如何将指定的节点集中到大型树上
- 如何在 JStree 3 中显示叶节点的类似文件的图标
- 不显示 jsTree 搜索文本框
- 尝试只显示匹配项时出现jstree网格问题
- 显示和隐藏上下文菜单时的 Jstree 调用事件
- JsTree-grid 不显示数据
- 如何修改jstree以在选中时显示节点的名称
- 用jstree插件显示选中的树
- 当使用create_node添加节点时,jsTree只显示最后一个根节点
- Jstree 3.0.0上下文菜单右键不工作.显示TypeError: vakata_context.element.h
- JSTREE 显示某些节点的文档图标