创建异步树形菜单

  1. 创建树形菜单的ul标签

    <ul class="easyui-tree" id="treeMenu">
    </ul>
  2. 写js代码,对菜单的ul标签元素使用tree函数
    $(function(){
    $('#treeMenu').tree({
    url:'tree_data.json' //url的值是异步获取数据的页面地址
    });
    });
  3. 写用来异步获取数据的php页面(tree_data.json页面)。
    返回的需是Json值(此处用数组代替从数据库获取的数据,以省略连接数据库过程)
    $result = [];
    
    //节点一
    $prodArr = [
    "id" => ,
    "text" => "商品管理",
    "state" => "open",
    "children" => [
    [
    "id" => ,
    "text" => "添加商品",
    "state" => "open",
    "attributes" => [
    "url" => "http://abc.com/test.php"
    ]
    ],
    [
    "id" => ,
    "text" => "修改商品",
    "state" => "open",
    "attributes" => [
    "url" => "http://abc.com/test2.php"
    ]
    ]
    ]
    ]; //节点二
    $newsArr = [
    "id" => ,
    "text" => "新闻管理",
    "state" => "open",
    "children" => [
    [
    "id" => ,
    "text" => "添加新闻",
    "state" => "open"
    ],
    [
    "id" => ,
    "text" => "修改新闻",
    "state" => "open"
    ]
    ]
    ]; //节点三
    $userArr = [
    "id" => ,
    "text" => "用户管理",
    "state" => "open",
    "children" => [
    [
    "id" => ,
    "text" => "添加用户",
    "state" => "open"
    ],
    [
    "id" => ,
    "text" => "修改用户",
    "state" => "open"
    ]
    ]
    ]; Array_push($result, $prodArr, $newsArr, $userArr);
    echo json_encode($result);

    说明:
    节点的属性:
    id:节点ID,可以作为参数来异步向页面地址获取子节点数据
    text:节点文本
    state:节点状态。取值为open(缺省默认值)或close。当设置为close时,会自动异步获取子节点的数据
    checked:指明节点是否被选中。
    attributes:自定义属性
    children:以数组的形式包含子节点       (更多细节知识可查看easyui官网中tree知识点)

到这,异步树形菜单就完成了。

动态添加标签页tab

  1. 创建用来包裹标签页tab的外层标签

    <div id="contentTabs" class="easyui-tabs" style="width:100%;height:100%;">
    </div>
  2. 在js中定义addTab函数
    function addTab(title, url){
    if ($('#contentTabs').tabs('exists', title)){
    $('#contentTabs').tabs('select', title);
    } else {
    var content = '<iframe scrolling="auto" frameborder="0" src="'+url+'" style="width:100%;height:100%;"></iframe>';
    $('#contentTabs').tabs('add',{
    title:title,
    content:content,
    closable:true
    });
    }
    }
  3. 在树形菜单的点击事件函数中调用addTab函数
    $(function(){
    $("#treeMenu").tree({
    onClick:function(node){
    if (node.attributes !== undefined && node.attributes.url !== undefined) {
    addTab(node.text,node.attributes.url);
    }
    }
    });
    });

最后,如图显示

EasyUI创建异步树形菜单和动态添加标签页tab的更多相关文章

  1. 雷林鹏分享:jQuery EasyUI 树形菜单 - 创建异步树形菜单

    jQuery EasyUI 树形菜单 - 创建异步树形菜单 为了创建异步的树形菜单(Tree),每一个树节点必须要有一个 'id' 属性,这个将提交回服务器去检索子节点数据. 创建树形菜单(Tree) ...

  2. ES6面向对象 动态添加标签页

    HTML <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml&quo ...

  3. EasyUI 布局 - 动态添加标签页(Tabs)

    首先导入js <link rel="stylesheet" href="../js/easyui/themes/default/easyui.css"&g ...

  4. easyui 动态添加标签页,总结

    步骤 1:创建 Tabs <div style="margin-bottom:10px"> <a href="#" class="e ...

  5. js 面向对象 动态添加标签

    有点逻辑 上代码 thml布局 点击查看代码 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  6. 使用 EasyUI 创建左侧导航菜单

    使用 JQuery EasyUI 创建左侧导航菜单,菜单的数据由后台服务提供. 效果图 HTML 元素 <div id="menuAccordion"></div ...

  7. EasyUI中动态生成标签页

    这是最近学到的内容,当时是有思路但是不知道怎么获取当前的点击对象,就没有实现功能,通过更深入的学习,我知道了不仅仅是Java,Oracle中有一个this,同样的EasyUI中也存在一个this,来获 ...

  8. dtree实现动态加载树形菜单,动态插入树形菜单

    1.导入  dtree文件    dtree.css   img文件夹   dtree.js 2. 建立对应 的数据库      1      父ID     name    id 3    建立连接 ...

  9. C# 后台动态添加标签(span,div) 以及模板添加

    很多时候.我们需要在后台用C#代码添加html标签.而不是在html源码中添加. 比如在html源码中简单的一个input 标签 <input type="type" nam ...

随机推荐

  1. jmeter(七)定时器

    知识来源有点复杂,其他测试工作者的博客,百度百科,搜集的电子文档,个人理解等等,限于水平和理解能力,可能有些内容有错误的地方... jmeter提供了很多元件,帮助我们更好的完成各种场景的性能测试,其 ...

  2. WCF中的错误及解决办法

    一 .    HTTP 无法注册 URL http://+:8000/Users/.进程不具有此命名空间的访问权限今天按照网上的例子开始学习WCF程序,运行的时候却发现出如下问题:HTTP 无法注册 ...

  3. java画图之曲线拖动

    目标:在窗体上按下鼠标按键.然后拖动鼠标,在按下和拖动之间绘制曲线 事件机制 事件源对象:窗体 事件监听方法:addMouseListener(MouseListener l);addMouseMot ...

  4. 1122MySQL性能优化之 Nested Loop Join和Block Nested-Loop Join(BNL)

    转自http://blog.itpub.net/22664653/viewspace-1692317/ 一 介绍  相信许多开发/DBA在使用MySQL的过程中,对于MySQL处理多表关联的方式或者说 ...

  5. sendEmail

    原文:http://blog.chinaunix.net/uid-16844903-id-308853.html 功能: 发邮件的客户端 官网地址: http://caspian.dotconf.ne ...

  6. python学习之day4,函数

    1.函数的定义:  函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可    特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 语法定义: def ...

  7. QQ个人文件夹中的文件被占用,解决办法

    我的情况是记住密码的账号不可以登录,不记住密码的账号确可以登录,突然就这样,我也很郁闷. 找到路径C:\Users\Public\Documents\Tencent\QQ下的UserDataInfo. ...

  8. Ubuntu 14.04.4官方默认更新源sources.list

    Ubuntu 14.04.4官方默认更新源sources.list # deb cdrom:[Ubuntu LTS _Trusty Tahr_ - Release amd64 (20160217.1) ...

  9. Thinking in java学习笔记之持有对象总结

  10. HTML5利用link标签的rel=import引入html页面

    如果是以前,我们可以使用iframe去引入,现在可以是这样的形式:<link rel="import" href="a.html" id="tm ...