ztree 编辑的节点名称重复怎么办

ztree 编辑的节点名称重复怎么办,第1张

$post(

"AddNodeaction",

{ type: treelevel, id: pid },

function(nodeIdAndName) {

var params = /([^\|]+)\|([^\|]+)/exec(nodeIdAndName);

/////////////////////////////////////////////////写法1//////////////////////////////////////////////////////////////////////////////////////////////////

// if ((!treeNode && eventtargettagNametoLowerCase() != "button" && $(eventtarget)parents("a")length == 0) || treeNodeopen){

// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });

// }

// else{

// zTreeexpandNode(treeNode, true);

// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });

// }

/////////////////////////////////////////////////写法2//////////////////////////////////////////////////////////////////////////////////////////////////

// if (!((!treeNode && eventtargettagNametoLowerCase() != "button" && $(eventtarget)parents("a")length == 0) || treeNodeopen)) {

// zTreeexpandNode(treeNode, true);

// }

// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });

/////////////////////////////////////////////////写法3//////////////////////////////////////////////////////////////////////////////////////////////////

// if(!treeNode && eventtargettagNametoLowerCase() != "button" && $(eventtarget)parents("a")length == 0)

// {

// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });

// }

// else if(treeNodeopen)

// {

// if(treeNodeisParent)

// {

// zTreereAsyncChildNodes(treeNode, "refresh");

// }

// else

// {

// treeNodeisParent=true;

// zTreereAsyncChildNodes(treeNode, "refresh");

// }

// }

// else

// {

// zTreeexpandNode(treeNode, true);

// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });

// }

/////////////////////////////////////////////////写法4//////////////////////////////////////////////////////////////////////////////////////////////////

// if ((!treeNode && eventtargettagNametoLowerCase() != "button" && $(eventtarget)parents("a")length == 0)){

// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });

// }

// else if(treeNodeopen){

// if(!treeNodeisParent){

// treeNodeisParent=true;

// }

// zTreereAsyncChildNodes(treeNode, "refresh");

// }

// else{

// zTreeexpandNode(treeNode, true);

// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });

// }

});

/

上面四种写法都是用于zTree异步加载时添加子节点重复的问题

问题描述:

zTree树,第一次给父节点添加子节点时(该节点没有子节点时):如果父节点处于展开状态,只添加一个子节点;如果父节点处于闭合状态,会添加两个节点

问题原因:

之一,zTree v30 中,用 addNodes 方法添加节点时,zTree 会自动先去异步加载已有的子节点,然后再添加新的子节点。

所以,当父节点处于闭合状态(还没有子节点)时,用addNodes方法添加子节点节点后会在异步加载子节点的时候再添加一次,就出现两个一样的节点

之二,后来,即使当父节点处于展开状态(还没有子节点)时也会添加两个一模一样的子节点,是因为zTree树的节点在默认情况下都是子节点,这时给它添加

子节点会添加两个,一个是addNodes()添加的,一个是异步加载时添加的。其实这个时候只需要给它一个reAsyncChildNodes 方法强行进行异步加载即可。

其实我自己也还不是特别能理解清楚zTree的逻辑,大家可以看官网API,或者猛击这里 ,还有一个不错的地方就是百度的zTree吧

>

一点就开了,这个可能是你的浏览器出现有小小问题,可以重置一下看看能不能解决,首先要确定网络没有问题;系统没有病毒木马等。

IE6修复

打开IE--工具--Internet选项--高级--还原默认设置--确定,重启IE看看,还不行的你就工具--Internet选项--程序--重置Web设置这时有一个小窗口d出,有一个选项是(取消个人设置)打上勾—重置,这个是还原到IE浏览器的默认设置的,重启IE就是MSN为主页了。

ztree 父节点的子节点全部被选中时会选中父节点是因为没有插入新的父节点。使子节点全选中时不关联到父节点步骤如下:

1、首先第一步就是进行在新建思维导图中,右击点击“编辑节点”,修改名称即可。

2、接着就是进行点击“插入”,点击“新的父节点”。

3、然后就是进行右击,点击“编辑节点”,输入名称,如下图所示。

4、最后就是进行点击“插入”,点击“新的父节点”,点击左边的子节点,点击“插入”,点击“新的父节点”即可。

其实都是差不多的,可能目前国内形势而言,在初期做java的工资比net多个几百块吧,毕竟JAVA方向多嘛,不过net相对来说好入门点吧,但是到后期都差不多的。每门技术都有它的优势的,术业有专攻,学好了都一样。而且个人觉得做前端的话,后台语言都差不多,把前台的js可以好好学学,这是个很强大的东西,要是以后有能力,能写个类似于ztree,ligerUI(juery写的,不过juquery是在JS基础上开发的)之类的东西,就很牛B了,

这个问题,结合源码跟你说下吧

 getTreeCheckedNodes: function (setting, nodes, checked, results) {

        if (!nodes) return [];

        var onlyOne = (checked && settingcheckchkStyle == constsradioSTYLE && settingcheckradioType == constsradioTYPE_ALL);

        results = !results  [] : results;

        for (var i = 0, l = nodeslength; i < l; i++) {

          var node = nodes[i];

          var children = datanodeChildren(setting, node);

          var nodeChecked = datanodeChecked(setting, node);

          if (nodenocheck !== true && nodechkDisabled !== true && nodeChecked == checked) {

            resultspush(node);

            if (onlyOne) {

              break;

            }

          }

          datagetTreeCheckedNodes(setting, children, checked, results);

          if (onlyOne && resultslength > 0) {

            break;

          }

        }

        return results;

      }

其中这一句种nodeChecked == checked 根据treenode的当前checked与你传入的checked比较,虽然api上说默认treenode的checked是false,实际上是undefined,所以要有效,一是选中后取消,一是初始化的时候,把treenode的checked设上true或false,当然你也可以该源码

以上就是关于ztree 编辑的节点名称重复怎么办全部的内容,包括:ztree 编辑的节点名称重复怎么办、有没有办法为zTree的treeNode添加class、为什么加上ztree IE7打不开页面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10212041.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存