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 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作