@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赋什么样的参数比较合理,多谢赐教!
使用ajax发送请求,返回后台生成的id即可。######
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。