easyui tree使用方法

加载数据

[javascript] view plaincopy

  1. $(‘#treeul‘).tree({
  2. checkbox:true,
  3. url:‘initTree.aspx‘,
  4. onLoadSuccess:function(){
  5. //绑定权限
  6. $.ajax({
  7. url:‘getId.aspx?id=‘+v,
  8. cache:false,
  9. dataType:‘text‘,
  10. success:function(data){
  11. var array = data.split(‘,‘);
  12. for(var i=0;i<array.length;i++)
  13. {
  14. var node = $(‘#treeul‘).tree(‘find‘,array[i]);
  15. $(‘#treeul‘).tree(‘check‘,node.target);
  16. }
  17. }
  18. })
  19. }
  20. });

cache必须设置为false,意思为不缓存当前页,否则更改权限后绑定的权限还是上一次的操作结果.

dataType表示获取服务器发送的数据,"text"表示纯文本

保存选中的节点

[javascript] view plaincopy

  1. $(‘#savebtn‘).click(function(){
  2. $.ajax({
  3. url:‘nodeHandler.ashx?pnodes=‘+GetNode(‘fnode‘)+ ‘&cnodes=‘+GetNode(‘child‘) +‘&id=‘+v,
  4. cache:false,
  5. success:function(data){
  6. eval(‘data=‘+data);
  7. if(data.success){
  8. alert(‘保存成功‘);
  9. window.location.href=‘Permission.aspx‘;
  10. }
  11. }
  12. })
  13. });

保存的时候,也必须将cache设置为false

GetNode方法

参数代表:父节点或子节点

[c-sharp] view plaincopy

  1. function GetNode(type){
  2. var node = $(‘#treeul‘).tree(‘getChecked‘);
  3. var cnodes=‘‘;
  4. var pnodes=‘‘;
  5. var prevNode=‘‘; //保存上一步所选父节点
  6. for(var i=0;i<node.length;i++){
  7. if($(‘#treeul‘).tree(‘isLeaf‘,node[i].target)){
  8. cnodes+=node[i].id+‘,‘;
  9. var pnode = $(‘#treeul‘).tree(‘getParent‘,node[i].target); //获取当前节点的父节点
  10. if(prevNode!=pnode.id) //保证当前父节点与上一次父节点不同
  11. {
  12. pnodes+=pnode.id+‘,‘;
  13. prevNode = pnode.id; //保存当前节点
  14. }
  15. }
  16. }
  17. cnodes = cnodes.substring(0,cnodes.length-1);
  18. pnodes = pnodes.substring(0,pnodes.length-1);
  19. if(type==‘child‘){return cnodes;}
  20. else{return pnodes};
  21. };

绑定tree的时候,只需要绑定子节点就可以了,父节点是根据子节点的状态决定是否选中的。一个父节点有2个子节点,如果我只绑定一个子节点,那么父节点的选择状态就不是“√”,如果2个子节点都有绑定的话,那么父节点的选中状态就是"√"

时间: 2024-10-27 13:37:22

easyui tree使用方法的相关文章

Easyui Tree方法扩展 - getLevel(获取节点级别)

Easyui Tree一直就没有提供这个方法,以前没有用到,所以一直没怎么在意,这次自己用到了,顺便扩展了一个方法,分享给大家. $.extend($.fn.tree.methods, { getLevel:function(jq,target){ var l = $(target).parentsUntil("ul.tree","ul"); return l.length+1; } }); 用法: var node = $().tree("getSele

转载 Easyui Tree方法扩展 - getLevel(获取节点级别)

Easyui Tree一直就没有提供这个方法,以前没有用到,所 以一直没怎么在意,这次自己用到了,顺便扩展了一个方法,分享给大家. $.extend($.fn.tree.methods, { getLevel:function(jq,target){ var l = $(target).parentsUntil("ul.tree","ul"); return l.length+1; } }); 用法: var node = $().tree("getSel

[转]easyui tree 模仿ztree 使用扁平化加载json

原文地址:http://my.oschina.net/acitiviti/blog/349377 参考文章:http://www.jeasyuicn.com/demo/treeloadfilter.html 一.扩展原因 ztree使用了一种扁平化的数据加载方式,就是id(自身id),pid(父id)的方式,参考http://www.ztree.me/v3/demo.php#_102,于是扩展easyui tree 也使用这种亲民的方式: 二.基本方法 1,载入扩展文件 2,在JS中实例化TRE

Jquery easyui tree的使用

这个ui用的一切都是json数据.树也是如此! 后台需要返回与格式匹配的json数据才能正确加载树. 页面定义一个ui: <ul id="messageInfoAddTree" class="easyui-tree" checkbox="true" data-options="lines:true" style="height:94%"></ul> JS访问后台: //人员树 $('

EasyUI Tree判断节点是否是叶

方法1:  $('#domaincatalog').tree('isLeaf', node.target); 返回true或false ,true表示是叶节点, false即不是 方法2:官方文档中:看到每个节点都有一些属性,其中一个是state,我们就通过这个state来判断.state有两个值 open和closed表示当前节点 打开和关闭了树的状态.当state等于undefined的时候就表示当前节点是Leaf 叶了. 在tree的onclick事件上添加判断代码如下 $("#domai

easyui tree 模仿ztree 使用扁平化加载json

参考文章:http://www.jeasyuicn.com/demo/treeloadfilter.html 一.扩展原因 ztree使用了一种扁平化的数据加载方式,就是id(自身id),pid(父id)的方式,参考http://www.ztree.me/v3/demo.php#_102,于是扩展easyui tree 也使用这种亲民的方式: 二.基本方法 1,载入扩展文件 2,在JS中实例化TREE 三.具体方法(easyui1.4.1下测试可用) 1,载入扩展JS //作者孙宇 //自定义l

easyui tree 级联从三种状态变为两种状态

在网上找的方法都是使用方法$('#tree').tree('select', node.target);都没绕开oncheck方法,后来发现easyui tree提供了一个update方法可以成功绕开onCheck方法,从而成功将级联改为两种状态.代码如下: $('#tree').tree({ url: '/tree' ,lines:false ,checkbox:true ,cascadeCheck: false ,onCheck: function (node, checked) { blC

easyui Tree模拟级联勾选cascadeCheck,节点选择,父节点自动选中,节点取消,父节点自动取消选择,节点选择,所有子节点全部选择,节点取消,所有子节点全部取消勾选

最近项目中用到easyui tree,发现tree控件的cascadeCheck有些坑,不像miniui 的tree控件,级联勾选符合业务需求,所以就自己重新改写了onCheck事件,符合业务需求.网上百度了很多资料,都没有完全符合自己业务场景的,所以就自己动手写咯. 先说一下自己的业务需求: 1.选中节点,上级以及所有直系上级节点自动选中,所有下级子孙节点全部自动选中: 2.取消选择节点,如果兄弟节点都未选择,则上级以及所有直系上级节点自动取消选择,所有下级子孙节点全部取消选中. 这里说一下c

递归和循环---从EasyUI Tree 发现自己的硬伤

前一阵子,朋友托我帮忙用vb.net写一个数独游戏,我当时的第一个想法---万能的互联网肯定有资源,肯定有人写---当然这是必须的---我站在巨人的肩膀上帮朋友完成代码---但是我突然觉得自己站在巨人这么高的肩膀上太高耸,想要找一下脚踏实地的感觉,所以我想自己写写,看看能不能写出来,结果就是------我压根没有思路. 对,毫不夸张,无从下手. 更深刻的一件事就是项目中用的的树状结构(easyui tree 实现),同样是根据数据库动态生成,我站在巨人的肩膀上,看着网上类似的datatable转