没有JAVA的基础,也没弄过JS,本人绝对是一个菜鸟,在这里想要记录一下自己学习的过程。
基本的一些JS都是看的W3C和JQUERY,现在用的最多的也是JQUERY,想想自己,对于JS真的写的很少。
不过,如果是写简单的WEB的话,感觉JQUERY已经很够用了,目前也有很多成熟的插件可以一起用,很方便,我主要用了ZTREE,一个多级树形结构的插件,很好,极力推荐,因此,下面介绍一下,自己用的ZTREE实现的一些功能:
1、通过点击每个节点之前的伸缩按钮来完成数据加载,以及展示和收起:
这个主要可以通过ZTREE本身设置的回调函数OnExpand(treeId,treeNode)来实现,该函数已经提供了当前点击的节点的所有信息,treeId为当前树的ID,即创建的树的ID,treeNode是当前点击的节点。可以通过treeNode来访问它的ID,PID,NAME等等,因此,可以在此函数内添加自己要加载的一些数据,然后,通过addNodes()函数,添加到多级树里。
2、对每一级的节点进行重命名:
这个可以通过设置的回调函数beforeRename()来完成,参数如上,在该函数内,可以添加对该节点重命名的验证规则,满足验证,则重命名成功。
3、对每一个重命名了的节点触发事件:
如果要实现对一个节点成功重命名之后来触发一些事件,则需要设置回调函数onRename(),在此函数内添加需要完成的动作即可。
细节的有很多,不再赘述,下面给出自己设置的ZTREE参数:
var setting = {
view: {
isSimpleData:true,
selectedMulti: false,
treeNodeKey:"id",
treeNodeParentKey:"pId",
showLine: false,
showIcon: false,
dblClickExpand: false,
txtSelectedEnable: true,
addDiyDom: addDiyDom
},
edit: {
enable: true,
showRemoveBtn: false,
showRenameBtn:setBtn,
editNameSelectAll: true
},
data: {
keep: {
parent:false,
leaf:false
},
simpleData: {
enable: true
}
},
callback: {
/*beforeDrag: beforeDrag,*/
onExpand:onExpand,
beforeExpand:zTreebeforeExpand,
beforeRename: beforeRename,
onRename: zTreeOnRename,
onClick: showValue
}
};
如果已经理解了该插件的思路,那么可以随意改变其图标,功能等等,推荐一个ZTREE函数参数很全的网页:http://www.ztree.me/v3/api.php,点击每一个函数,都会有详细介绍。