连续新增的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赋什么样的参数比较合理,多谢赐教!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
引用来自“生吃番茄酱”的评论
使用ajax发送请求,返回后台生成的id即可。