【问题标题】:jsTree not rendering with "inline" json datajsTree 不使用“内联”json 数据呈现
【发布时间】:2013-02-26 14:39:10
【问题描述】:

我已经在 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。所有插件脚本均已正确加载。我究竟做错了什么?

【问题讨论】:

  • 我认为有人在我编辑自己之前 1 秒编辑了我的问题。可能已经覆盖了更改。先生,您可以再次进行更改:)
  • :) ...我只是为你格式化。
  • 我有一个小提琴链接:jsfiddle.net/9wBET 但我不明白这个问题...
  • @Nix - 啊,伙计。你什么都没改变是吗?这很奇怪
  • 你能告诉我你是怎么打电话给$("#TreeView2").jstree

标签: jquery json jstree


【解决方案1】:

更改您的脚本以运行 onLoad.

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

【讨论】:

  • 喜欢在正文 dom 或文档上加载?也不行。我试过 jQuery 1.9.1 和 1.7。没什么 :( 也许是因为它在基于 Umbraco 的应用程序中?
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 2023-01-13
    • 2020-09-28
    • 2011-08-17
    • 1970-01-01
    相关资源
    最近更新 更多