ztree添加节点和修改节点自动更新当前节点在ztree中的显示顺序

1、新增和修改的时候先将parentNode获取到,定义全局变量

var parentNode = null;

复制代码
//加入添加资源按钮
        function addHoverDom(treeId, treeNode) {
            var obj = $('#' + treeNode.tId + '_span'); if ($('#add_' + treeNode.tId).length > 0) { return; } var menu = '<span id="add_'+treeNode.tId+'" class="button add" title="添加子资源"></span>'; obj.after(menu); var btn = $('#add_' + treeNode.tId); if (btn) btn.bind('click', function() { parentNode = treeNode; var tId = treeNode.tId; var parentcode = treeNode.codee; var code = getLastCode(treeNode); //alert(treeNode.id); $('#iframe').attr( 'src', '${_baseUrl}/add.do?nodeId=' + tId + '&parentcode=' + parentcode + '&code=' + code); return false; }); };
复制代码

 

复制代码
//点击编辑按钮进入编辑
        function beforeEditName(treeId, treeNode) {
            status = 'edit';
            parentNode = treeNode.getParentNode(); $('#iframe') .attr('src', '${_baseUrl}/edit.do?resId=' + treeNode.id); return false; }
复制代码

当新增或者修改结束的时候,将当前节点的顺序返回:

复制代码
 $("#addForm")
                .ajaxSubmit(
                        {
                            type: "post",
                            url: '${_baseUrl}/save.do',
                            dataType: 'json',
                            success: function (res) { window.parent.addChildNode(res,$("#order").val());//在父窗口中添加节点到指定顺序处 window.location.href = '${_baseUrl}/detail.do?resId=' + res.id; }, error: function (res) { } }); $("#editForm") .ajaxSubmit( { type: "post", url: '${_baseUrl}/update.do', dataType: 'json', success: function (res) { window.parent.updateNode(res,$("#order").val());//在父窗口中更新顺序 window.location.href = '${_baseUrl}/detail.do?resId=' + res.id; }, error: function (res) { } });
复制代码

在ztree新增和修改节点之前先获取当前顺序在父节点的所有子节点中占的顺序:

复制代码
//获取子节点的最大code
        function getIndexOfChildNode(order) {
            
            var childNodes = parentNode.children; var index = 0; if (childNodes) { var lastCode = 0;//childNodes[childNodes.length - 1].codee; childNodes.forEach(function(n) { n = parseInt(n.order); index = n < order ? ++index : index; }); } return index; }
复制代码

调用ztree自身的添加节点的方法 zTree.addNodes(parentNode, index, node);将节点添加到指定顺序下

复制代码
//在资源树中添加资源
        function addChildNode(node,order) {
            var zTree = $.fn.zTree.getZTreeObj('zTree'); var index = getIndexOfChildNode(order); zTree.addNodes(parentNode, index, node); }
复制代码

对于修改的节点信息,可以先删除后添加:

复制代码
//更新资源树中的资源
        function updateNode(res,order) {
            var zTree = $.fn.zTree.getZTreeObj('zTree'); var node = zTree.getNodeByParam("id", res.id, null); zTree.removeNode(node); var index = getIndexOfChildNode(order); zTree.addNodes(parentNode, index, res); }
复制代码

转载于:https://www.cnblogs.com/guo-eric/p/8066878.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值