【问题标题】:JsTree renders empty <ul> tagJsTree 呈现空的 <ul> 标签
【发布时间】:2012-07-16 07:25:50
【问题描述】:

我正在尝试将 jsTree 添加到我的 web 应用程序中。当我触发创建 jsTree 的单击事件时,什么也没有出现。如果我检查 Chromium 开发人员工具中的 HTML,它所呈现的只是一个空的无序列表标记。有谁知道我做错了什么?

之前的HTML:

<div id="studenttree">
</div>

Jquery/Jstree 代码:

$('#studenttree').jstree({
    'plugins' : ['json_data'],
    'json_data' : {
        'ajax' : {
            'url' : 'fakejax/getdirs.txt',
            'data' : function(n) {
                return {'id' : 'test'};
            }
        }
    }
});

事件触发后的HTML:

<div id="studenttree" class="jstree jstree-0 jstree-focused">
  <ul></ul>
</div>

fakejax/getdirs.txt:

[
  {
    "data" : "test",
    "children" : ["Child 1", "Child 2"]
  }
]

在 Chromium 开发人员工具中,没有出现对 getdirs.txt 的 ajax 请求,所以我假设甚至没有发出请求。然而,代码块正在执行,因为周围的 console.log() 语句出现在输出框中。我觉得我错过了一些简单的东西。

【问题讨论】:

  • 您是否尝试将 URL 设置为绝对路径,也不是相对路径?
  • 刚刚做了,没有任何变化。我还尝试对其正下方的文件发出常规 jquery ajax 请求,并且该请求正常工作。
  • 也许你可以把这个做成JSFiddle?
  • 有趣,当时它似乎可以工作,我发现唯一的代码区别是我在 JSFiddle 上包含了来自 CDN 的文件。原来我的本地 jstree.min.js 已损坏。谢谢!

标签: javascript jquery web-applications jstree


【解决方案1】:

在测试我的代码后,使用从另一个来源包含的 jquery.jstree.js 文件,我发现代码有效。经过进一步调查,很明显我的本地 jquery.jstree.js 文件在下载过程中已损坏并且无法正确呈现。

【讨论】:

  • 显然我得等到明天>.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-14
  • 1970-01-01
  • 2020-04-24
  • 2014-03-14
相关资源
最近更新 更多