开发者社区> 问答> 正文

连续新增的ztree节点不行,必须刷新一次页面增加一个:报错

@zTree 你好,想跟你请教个问题:

本人菜鸟,目前在Yii框架下,为了实现层级管理,要用到ztree,后台数据方法都已经写好,前端添加节点的代码如下:

function addHoverDom(treeId, treeNode) {
            var sObj = $("#" + treeNode.tId + "_span");
            if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0) return;
            var addStr = "<span class='button add' id='addBtn_" + treeNode.tId
                + "' title='add node' onfocus='this.blur();'></span>";
            sObj.after(addStr);
            var btn = $("#addBtn_"+treeNode.tId);
            if (btn) btn.bind("click", function(){
                var zTree = $.fn.zTree.getZTreeObj("treeDemo");
                //zTree.addNodes(treeNode, {id: newCount, pId:treeNode.id, name:"new node"});
                var pId = treeNode.id;
                var id = zNodes.length + newCount;
                var name = "new node";
                var level = treeNode.level + 2 ;
                var url = "AddNode";
                var data = {};
                data['id'] = id;
                data['name'] = name;
                data['pId'] = pId;
                data['level'] = level;
                $.ajax({
                    type:"POST",
                    url:url,
                    data:data,
                    success: function(msg){
                        alert("节点名称添加成功");
                    }
                });
                zTree.addNodes(treeNode, {id: (zNodes.length + newCount), pId:treeNode.id, name:"new node"});
                return false;
            });
        };


    目前的情况是无法连续增加新的节点,必须每次增加一个节点后刷新一次页面后再增加,否则刚添加的节点无效。分析原因是每次取到的zNodes是通过后台写入的,只有刷新一次页面后台的数据才会更新进到zNodes里,所以如果不刷新zNodes.length的值是不变的,so,这种情况怎么处理,这里的var id赋什么样的参数比较合理,多谢赐教!

展开
收起
kun坤 2020-06-06 19:59:44 697 0
1 条回答
写回答
取消 提交回答
  • 使用ajax发送请求,返回后台生成的id即可。######

    引用来自“生吃番茄酱”的评论

    使用ajax发送请求,返回后台生成的id即可。
    多谢,现在新的情况是:我不需要返回id值,因为数据库id是自增的,我只需要将pid,name压入数据库就好了,但是var pId = treeNode.id有时候得到的pId值不对,在已有的节点上增加新的节点没有问题,在刚新增的节点上连续增加新的节点时,pId取到的值就不对了。
    2020-06-06 19:59:51
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
穆客带你快速定位 Node.js 内存泄露 立即下载
穆客带你快速定位Node.js内存泄露 立即下载
用计算和数据去改变整个世界 立即下载