jsTree不使用“内联”json数据进行渲染

时间:2013-02-26 14:39:11

标签: jquery json jstree

我已经和jsTree打了几天了。这很简单但没有任何事情发生。这是脚本:

$(document).ready(function () {

$("#TreeView2").jstree({
    "json_data": {
        "data": [{
            "data": "A node",
                "metadata": {
                id: 23
            },
            "children": ["Child 1", "A Child 2"]
        }, {
            "attr": {
                "id": "li.node.id1"
            },
            "data": {
                "title": "Long format demo",
                "attr": {
                    "href": "#"
                }
            }
        }]
    },
    "plugins": ["themes", "json_data", ]
}).bind("select_node.jstree",

function (e, data) {
    alert(data.rslt.obj.data("id"));
});
});

直接向前和向右伸出书。这是标记结果:

<div id="TreeView2" class="jstree jstree-1 jstree-default">
     <ul></ul>
</div>

除了div容器上的类之外,什么都没有呈现。如果我从ajax帖子中检索json数据,则相同。没有。甚至没有ajax帖子在我的控制台中注册。也没有错误。 如果我使用内联html标记作为数据源运行它,该插件可以正常工作。与现有标记一样。

该脚本位于document.ready函数中。开头的标记只是一个带ID的div。所有插件脚本都正确加载。我究竟做错了什么?

2 个答案:

答案 0 :(得分:2)

更改脚本以运行onLoad.

小提琴:http://jsfiddle.net/9wBET/

答案 1 :(得分:1)

事实证明,jstree文档,除了非常弱,有时不存在,其纯粹过时的虚假信息和非常错误。问题中的示例来自他们的文档/示例。我不得不完全改写整个事情。 jstree甚至没有呈现的主要原因是缺少多个插件,如“ui”和“types”。我基本上找到了有关如何使用动态json数据等的信息。来自10个不同的网站和指南。