当前网页显示静态jstree。脚本(如下所示)与JSP页面位于同一文件中,使用添加到弹簧模型的数据。
设置#1
<div id="permissions" class="scroll"></div>
<script type="text/javascript" class="source">
$(function () {
$("#permissions").jstree({
"plugins" : [ "themes", "json_data", "checkbox", "sort", "ui" ],
"checkbox" : { "override_ui" : true },
"themes" : { "icons" : false },
"json_data" : { "data" : ${permissionTree} }
});
});
</script>
为了对它进行更多动态控制,我将脚本移动到javascript文件中,并使其能够显示不同的信息。但是,出于测试目的,我使用的数据与以前完全相同。
设置#2
function getPermissions(str) {
$.getJSON("getPermissions.htm", {id : str},
function(data) {
$(function () {
$("#permissions").jstree({
"plugins" : [ "themes", "json_data", "checkbox", "sort", "ui" ],
"checkbox" : { "override_ui" : true },
"themes" : { "icons" : false },
"json_data" : { "data" : JSON.stringify(data) }
});
});
});
}
但是,使用设置#2,树显示原始JSON,而不是树。我已经确认在两个实例中data
都是相同的。什么给出了什么?为什么它不能这样工作?
答案 0 :(得分:3)
"data"
应包含对象或数组值。
"json_data" : { "data" : JSON.stringify(data) }
试试这个:
"json_data" : { "data" : data }