动态生成jstree
Generating jstree on the fly
我正在尝试在点击按钮时生成jstree。我有一个jstree,用户将从该树中选择实体。我想在所选选项卡中以树格式本身显示该树。
因此,如果我使用变量,也就是,那么下面的代码就可以正常工作。但我只想显示该字符串的第一个名称,因为我正在用jstree-json数据格式格式化它。那么它就不起作用了。但我尝试过将生成的文本复制并粘贴到另一个jstree中,然后它就可以工作了。意味着它不会在移动中显示在新树中,而是在另一个页面上。如果我传递相同的字符串,它会向我显示树。
这是我的代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<style>
html { margin:0; padding:0; font-size:62.5%; }
body { font-size:14px; font-size:1.4em; }
h1 { font-size:1.8em; }
.demo { overflow:auto; border:1px solid silver; min-height:100px;min-width: 400px;float: left }
.demo1 { overflow:auto; border:1px solid silver; min-height:100px;min-width: 400px; float: right}
</style>
<link rel="stylesheet" href="style.min.css" />
</head>
<body><div id="frmt" class="demo"></div>
<div id="frmt1" class="demo1"></div>
<script>
function callGraph(akn) {
var c = akn + "";
var spl = c.split("!");
var dt = "[{'"text'":'"DC=test,DC=in'",'"children'":[";
var cnt = spl.length - 1;
for (q = 0; q < cnt; q++) {
if (spl[q].startsWith(","))
dt += "{'"text'":'"" + spl[q].split(",")[1] + "'"},";
else
dt += "{'"text'":'"" + spl[q].split(",")[0] + "'"},";
}
dt += "]}]";
console.log(dt);
$('#frmt1').jstree({
'core': {
'data': dt;
},
"checkbox": {
"whole_node": false,
"keep_selected_style": true,
"three_state": true,
"tie_selection": false
}, "search": {
"fuzzy": true
}, "plugins": ["checkbox", "search"]
});
$('#frmt1').jstree(true).settings.core.data = dt;
$('#frmt1').jstree(true).refresh();
}
</script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="jstree.min.js"></script>
<button>>></button>
<script>
$('#html').jstree();
$('#frmt').jstree({
'core': {
'data':<%= session.getAttribute("PATH")%>
},
"checkbox": {
"whole_node": false,
"keep_selected_style": true,
"three_state": true,
"tie_selection": false
}, "search": {
"fuzzy": true
}, "plugins": ["checkbox", "search"]
});
$('button').on('click', function () {
a = $('#frmt').jstree("get_checked");
callGraph(a);
// window.location = "read.jsp?name="+a;
});
</script>
</body>
</html>
您需要删除dt附近的双引号和反斜杠双引号。以下内容将对您有所帮助。
var dt = [{"text":"DC=test,DC=in","children":[;
var cnt = spl.length - 1;
for (q = 0; q < cnt; q++) {
if (spl[q].startsWith(","))
dt += {"text":" + spl[q].split(",")[1] + "},;
else
dt += {"text":" + spl[q].split(",")[0] + "},;
}
dt += ]}];
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 动态分配GA增强型电子商务跟踪器
- onkeyup无法动态创建多个文本区域
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何使Javascript动态html表及其上的事件
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 在jstree中,如何将指定的节点集中到大型树上
- 如何使用javascript从主svg对象动态创建svg视图框
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 通过在Dojo mobile ViewController.openExternalView中动态更改打开同一外部视图的
- 如何在Google柱状图中动态添加行/列
- 困在逻辑中试图定位动态的东西
- 动态生成jstree
- 给出动态数组时出现 jsTree 错误
- 动态地将单击的节点作为加载节点的父节点 - jsTree
- 具有静态节点和动态加载节点的 JsTree
- jsTree-使用AJAX/C#Web方法动态填充树
- jsTree 3-选择动态加载树的下一个/上一个节点