第五篇:zTree节点的一些操作,权当备份
项目场景:
将zTree的一个节点挪到某个已知的根节点下,因为树上的节点都是数据库查询出来的,所以不能直接用addNodes()这个方法(否则一刷新又恢复原样了),而是要把这个节点及其某些属性数据保存到数据库中,
进一步的需求是:如果层级很多,挪过去的时候,要连带他的所有父节点,子孙节点一起挪过去,加上他们的属性保存至数据库
屡一下,逻辑过程如下:
1、点击某个节点,假设树对象为ZTree,首先获取选中节点var CurrentNode= ZTree.getSelectedNodes();
2、编写各种需要获取数据的方法,等待后面一个个用
递归获取他的所有父节点(祖先们)并存起来,ztree的API有个getPath()方法,能获取所有的父节点以及自己,但是不知道为什么不能用)
//定义待请求数据存储的数组
我的死办法中,只要方法里面用变量保存,递归的时候都会被重置,这是个问题,宝哥绕开了这个问题
if(node == null) return "发布库";
return getNodePath(pNode) + "/" + node.name;
}
}
}
3、现在预备工作已经做完(当然这是整理之后的,实际开发的时候都是写到哪儿发现需要哪个方法公用,才会去想到写他)
首先我们获取当前节点的所有父节点:
getP_nodes(CurrentNode); //调用这个方法后父节点存进了数组ParentNodes
//遍历父节点,存进dataList,注意从后往前
}
//当前节点数据存进dataList
PS:、、、、、、、、、、、这里本来是一个个节点插入的,
$.post("publish_insertCatalog",data,function(result){});
这样的话得发送好多次,也得写好多次………………………………………………
所以用数组dataList存下来,再转换成JSON数据发到后台
测试下如下代码:
dataList .push(data);//所有的data全部组装加进去
js测验 JSON.stringify(dataList),结果为[{},{},{}],通过
好的,可以这样用!
alert(result);
});
至此,写了测,测了改,改了再测再改,前台的数据终于全部打包完。。。
接下来后台接受处理:难点在这儿,存进数据库的记录,要保持这个父子关系,所以当父节点存进去之后要成功返回他的id后作为他的儿子(们)的ParentId字段值,刚刚打包的数据需要取出来挨个儿判断从属关系
最新文章
- SQL2008中的Sequence
- RestEasy 3.x 系列之三:jsonp
- 配置oss bucket cors
- Java 第四天 Mysql
- e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (三) SqlServer数据库的访问
- TXMLDocument换行的两种方案
- SQL Server 创建数据库快照
- 20151210--MVC
- 选择屏幕中的下拉框和dialog中下拉框设计
- JavaWeb:EL &; JSTL
- 快速理解web语义化
- Beta冲刺 第五天
- Eclipse - 安装lombok后注解无效
- Spark 中Java实现数据库Row转Rating
- table动态增加删除
- celery 任务队列 + redis
- Spark join连接
- 在github上创建新的分支(包括管理分支)
- 第四次作业——关于石墨文档(Android)客户端的案例分析
- (14)其他Linux命令
热门文章
- 继承中的隐藏(hide)重写(Override)和多态(Polymorphism)
- FFT最新卡常研究
- PHP headers_list() 函数
- NX二次开发-UFUN输入Part的TAG,获取整个部件表达式的TAG和表达式个数UF_MODL_ask_exps_of_part
- (转)Android 创建与解析XML—— Dom4j方式 .
- python输入输出(二)
- Try running RemoteDll as Administrator
- ES6新的特性有哪些?
- springboot中参数校验
- mac os Catalina beta andriod studio crash