创建异步树形菜单

  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. Mysql操作初级

    Mysql操作初级 本节内容 数据库概述 数据库安装 数据库操作 数据表操作 表内容操作 1.数据库概述 数据库管理系统叫做DBMS 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建 ...

  2. PAT 1035. 插入与归并(25)

    根据维基百科的定义: 插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列.每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置.如此迭代直到全部元素有序. 归并排序进行如下迭 ...

  3. JSP九大内置组件

    request:用户端请求,此请求会包含来自get/post请求的参数 response:网页传回用户端的回应 pagecontext:网页上下文,也就是网页的属性 session:与请求有关的会话期 ...

  4. Lrc2srt精灵,增加自定义输出编码

    2015.4.8 对中文支持有点问题,修改了一下,支持自定义输出编码! 修改了建议行末偏移,通常100到200最好了,人的反应时间! http://files.cnblogs.com/files/ro ...

  5. ffmbc——广播电视以及专业用途量身定制的FFmpeg

    做项目遇到针对于mpegts多节目流转码的问题,看遍了ffmpeg的参数都得不到解决办法,最后在雷神的博客中看到了ffmbc: 结果,还是没解决问题,但是看起来改改ffmbc的代码还是相对简单一些,抽 ...

  6. StackExchange.Redis 访问封装类

    最近需要在C#中使用Redis,在Redis的官网找到了ServiceStack.Redis,最后在测试的时候发现这是个坑,4.0已上已经收费,后面只好找到3系列的最终版本,最后测试发现还是有BUG或 ...

  7. Qt——一些工具的使用

    一.使用Qt需要安装哪些软件 如果不使用VS,那么只需Qt组件就行了,安装完成后使用QtCreator进行编程. 如果使用VS,则需要安装下面几个: 1.Visual Studio 2.Qt组件 3. ...

  8. 简单的Viewing Frustum Culling

    Viewing Frustum Culling是图形绘制流水线中,将不可见物体(即不在视锥体内的物体)提前剔除的操作. 在实践中,精确判断物体的可见性开销较大,因而通常用物体包围球或包围盒与视锥体(平 ...

  9. 剑指offer 面试题64 数据流的中位数

    struct cmp { bool operator()(double a, double b) { return a > b; } }; class Solution { public: vo ...

  10. eclipse-将同一个文件分屏显示

    windows-editor-toggle split editor 效果图