qq_charm 2018-10-10 03:40 采纳率: 33.3%
浏览 3578

ZTree报错 Cannot read property 'substring' of undefined

先上代码

 <table class="table" style="height:800PX">
    <tr>
        <td width="100" class="va-t">
            <ul id="treeDemo" class="ztree">
            </ul>
        </td>
        <td class="va-t"><iframe ID="testIframe" Name="testIframe" FRAMEBORDER=0 SCROLLING=AUTO width=100% height=100% SRC=""></iframe></td>
    </tr>
</table>
 <script type="text/javascript">

$(document).ready(function(){
    var setting = {
            view: {
                dblClickExpand: false,
                showLine: false,
                selectedMulti: false
            },
            callback: {
                beforeClick: function(treeId, treeNode) {
                    var zTree = $.fn.zTree.getZTreeObj("tree");
                    if (treeNode.isParent) {
                        zTree.expandNode(treeNode);
                        return false;
                    } else {
                        demoIframe.attr("src","list_user.html");
                        <!-- demoIframe.attr("src",treeNode.file + ".html"); -->
                        return true;
                    }
                }
            }
        };
    var zNodes;
    $.ajax({
        url:"getProducts",
        type:"post",
        datatype:"json",
        async:false,
        success:function(data){
            alert(data);
            zNodes=data;
        }
    });
    var t = $("#treeDemo");
    t = $.fn.zTree.init(t, setting, zNodes);
    demoIframe = $("#testIframe");
    //demoIframe.on("load", loadReady);
    var zTree = $.fn.zTree.getZTreeObj("tree");
});



    var code;

    function showCode(str) {
        if (!code) code = $("#code");
        code.empty();
        code.append("<li>"+str+"</li>");
    }
</script>

我这样写控制台老是报错。
然后我把ajax返回来的data,直接写到zNodes上,不用ajax,就可以正常显示出来。

 [{"id":"0","name":"cpfl","pid":"0"},{"id":"1","name":"FCRS","pid":"0"},
 {"id":"2","name":"FCJS","pid":"0"},{"id":"3","name":"FARS","pid":"0"}]

这个是返回的json数据。

  • 写回答

1条回答 默认 最新

  • FuckingGreat 2018-10-15 10:04
    关注

    你这个例子我没尝试,

    不过在zTree中如果你是用的是异步加载,则tree上的节点并不是一次性加载完成的,而是每次点击打开节点时加载子节点,

    所以你的'substring' 为 undefined

    评论

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler