加载数据

  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"表示纯文本

保存选中的节点

  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方法

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

  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个子节点都有绑定的话,那么父节点的选中状态就是"√"

easyui tree使用方法的更多相关文章

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

    Easyui Tree一直就没有提供这个方法,以前没有用到,所以一直没怎么在意,这次自己用到了,顺便扩展了一个方法,分享给大家. $.extend($.fn.tree.methods, { getLe ...

  2. easyui tree扩展tree方法获取目标节点的一级子节点

    Easyui tree扩展tree方法获取目标节点的一级子节点 /* 只返回目标节点的第一级子节点,具体的用法和getChildren方法是一样的 */ $.extend($.fn.tree.meth ...

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

    Easyui Tree一直就没有提供这个方法,以前没有用到,所 以一直没怎么在意,这次自己用到了,顺便扩展了一个方法,分享给大家. $.extend($.fn.tree.methods, { getL ...

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

    原文地址:http://my.oschina.net/acitiviti/blog/349377 参考文章:http://www.jeasyuicn.com/demo/treeloadfilter.h ...

  5. Jquery easyui tree的使用

    这个ui用的一切都是json数据.树也是如此! 后台需要返回与格式匹配的json数据才能正确加载树. 页面定义一个ui: <ul id="messageInfoAddTree" ...

  6. EasyUI Tree判断节点是否是叶

    方法1:  $('#domaincatalog').tree('isLeaf', node.target); 返回true或false ,true表示是叶节点, false即不是 方法2:官方文档中: ...

  7. EasyUI –tree、combotree学习总结

    EasyUI –tree.combotree学习总结 一.   tree总结 (一).tree基本使用 tree控件是web页面中将数据分层一树形结构显示的. 使用$.fn.tree.defaults ...

  8. Easyui tree 开启拖放后 在IE下 性能惨不忍睹

    项目中加载一个树结构代码如下 //加载树 function LoadTree() { var url = "../Ajax/StationTree.ashx?showVirtual=1&qu ...

  9. easyui tree 的数据格式转换

    一般用来储存树数据的数据库表都含有两个整型字段:id pid,所以我们查询出来的List一般是这样的(约定pId为-1的节点为根节点): var serverList = [ {id : 2,pid ...

随机推荐

  1. <context:component-scan>

    首先看配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http ...

  2. JavaScript 错误 - Throw、Try 和 Catch

    http://www.w3school.com.cn/js/js_errors.asp try 语句测试代码块的错误.catch 语句处理错误.throw 语句创建自定义错误. 错误一定会发生 当 J ...

  3. 二分法习题HDU2199

    AC代码 : #include<iostream>#include<cmath>using namespace std;double y;double f(double n){ ...

  4. nefu 179 珠子(最长递增子序列问题)

    Description 小林有一串珠子,是由很多个大小不同的珠子串联在一起组成的圆环型的,且其中每个珠子的大小可以用int型的整数来表示.小林有一个爱好就是数珠子,他想数那些位置相邻而且大小只相差1的 ...

  5. Google 分布式关系型数据库 F1

    F1是Google开发的分布式关系型数据库,主要服务于Google的广告系统.Google的广告系统以前使用MySQL,广告系统的用户经常需要使用复杂的query和join操作,这就需要设计shard ...

  6. PHP问答题大全

    答案在题目后面,文字与背景同色,连续单机三次鼠标一行出答案哦: 1.PHP有几种原始数据类型,分别是什么?答:八种,分别是:int,float,string,bool,array,object,res ...

  7. Apache开启gzip压缩传输

    修改Apache配置文件 第一步,添加两个模块 LoadModule deflate_module modules/mod_deflate.so LoadModule headers_module m ...

  8. apt-key adv

    gpg --recv-keys KEY-ID                gpg --armor --export KEY-ID | sudo apt-key add - http://m.blog ...

  9. 使用SQL Server Management Studio 创建作业备份数据库

    在项目中,经常需要备份数据库,如果能做到只需点个按钮(“开始备份数据库”按钮),然后什么都不管,数据库就自动备份好了,或者服务器上的数据库隔一段时间自动备份一次,那该多好啊. Sql server 的 ...

  10. Linux下的编程实战【转】

    一篇比较不错的文章, 降到了 makefile make , gcc编译器,GDB调试器, Linux文件系统,Linux文件API,.C语言库函数(C库函数的文件操作实际上是独立于具体的操作系统平台 ...