【问题标题】:jsTree functionality missing when dynamically created动态创建时缺少 jsTree 功能
【发布时间】:2013-01-22 06:43:24
【问题描述】:

我已经动态创建了一个 jsTree,该树是使用字符串生成器从 Web 服务创建的。

 Dim oSB As StringBuilder = New StringBuilder
  oSB.Append("<div id='main'>")
   SB.Append("<h4>JSTree</h4>") 
  oSB.Append("<ul id='browser' class='filetree'><li><span class='folder' >Folder         1</span> <ul><li><span class='file'>Item 1.1</span></li></ul></li><li><span c   class='folder'>Folder 2</span> <ul><li><span class='folder'>Subfolder 2.1</span><ul id='folder21'> <li><span class='file'>File 2.1.1</span></li><li><span class='file'>File 2.1.2</span></li></ul></li><li><span class='file'>File 2.2</span></li></ul></li><li class='closed'><span class='folder'>Folder 3 (closed at start)</span><ul><li><span class='file'>File 3.1</span></li>    <li><span class='file'>File 3.2</span></li></ul></li><li><span class='file'>File 4</span></li></ul>")
 oSB.Append("</div>")

树已形成,但缺少节点的最小化和最大值,我认为这可能是脚本未加载或其他问题,因为 html 页面中的同一棵树工作得很好。我将树归还给 Ajax

 $("div").html(data.d);    

谁能帮帮我,我错过了什么?

【问题讨论】:

  • 你能创建工作的 jsfiddle 吗?实际上缺少什么?节点的最小/最大是 jsTree 属性吗?
  • 其实我对编码太陌生了,对 jsfiddle 还是陌生的,我不知道如何使用 web 服务来创建它。我正在使用link 示例 1。我所做的唯一更改是从 Web 服务后面的代码而不是 html 中创建树,没有应用可折叠和可扩展属性。我认为js没有附加到这个动态创建的树上。

标签: javascript ajax vb.net web-services jstree


【解决方案1】:

其实我明白了,我错过了(一个简单的部分)在 Ajax 返回值后调用 treeview 函数。

 function OnLoadSectionSuccess(data) {
            $("#div").html(data.d);
            $("#div").treeview({
                animated: "fast",
                collapsed: true
            });            
    }

添加后,树工作正常。无论如何,感谢您的宝贵时间。

干杯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    • 2022-01-21
    相关资源
    最近更新 更多