jQuery EasyUI 树形菜单 – 使用标记创建树形菜单

下面直接给你最实用、最常见的使用标记(HTML标记)创建树形菜单方法,jQuery EasyUI 的 tree 组件支持超级简单的 <ul><li> 标记方式构建树,复制粘贴就能做出左侧导航菜单、部门组织架构、分类目录等,领导最爱的“静态树形菜单”全都有!

方法1:最简单最常用 – 纯HTML标记创建树形菜单(推荐现在就用这个,3秒出效果)

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>EasyUI 树形菜单 - 使用标记创建</title>
    <link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="https://www.jeasyui.com/easyui/themes/icon.css">
    <script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script type="text/javascript" src="https://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
</head>
<body>

<div style="width:250px;margin:20px auto;">
    <!-- 使用 <ul class="easyui-tree"> 标记方式创建树 -->
    <ul class="easyui-tree">
        <li>
            <span>系统管理</span>
            <ul>
                <li data-options="iconCls:'icon-user'"><span>用户管理</span></li>
                <li data-options="iconCls:'icon-role'"><span>角色管理</span></li>
                <li data-options="iconCls:'icon-dept'"><span>部门管理</span></li>
                <li>
                    <span>权限设置</span>
                    <ul>
                        <li data-options="iconCls:'icon-menu'"><span>菜单权限</span></li>
                        <li data-options="iconCls:'icon-btn'"><span>按钮权限</span></li>
                    </ul>
                </li>
            </ul>
        </li>
        <li data-options="state:'closed',iconCls:'icon-order'">
            <span>订单管理</span>
            <ul>
                <li><span>订单列表</span></li>
                <li><span>订单统计</span></li>
                <li><span>退款处理</span></li>
            </ul>
        </li>
        <li data-options="iconCls:'icon-product'">
            <span>商品管理</span>
            <ul>
                <li><span>商品列表</span></li>
                <li><span>商品分类</span></li>
                <li><span>库存管理</span></li>
            </ul>
        </li>
        <li data-options="iconCls:'icon-report'"><span>报表统计</span></li>
        <li data-options="iconCls:'icon-setting'"><span>系统设置</span></li>
    </ul>
</div>

<script>
// 初始化后绑定点击事件(点击节点显示信息或加载页面)
$(function(){
    $('.easyui-tree').tree({
        onClick: function(node){
            if(node.text){
                $.messager.show({
                    title:'你点击了',
                    msg:'节点文本:' + node.text,
                    timeout:2000
                });
                // 实际项目中可以这样:
                // addTab(node.text, 'content.php?menu=' + node.id);
            }
        }
    });
});
</script>

</body>
</html>

效果亮点:

  • 完全用 <ul><li> 标准HTML标记构建,无需写JS数据
  • 支持无限级嵌套
  • state:'closed' 表示默认折叠
  • iconCls 指定节点图标(EasyUI内置大量icon)
  • 自动渲染成专业树形菜单,支持展开/折叠、选中高亮

方法2:标记 + 数据属性混合(更灵活控制节点)

<ul class="easyui-tree" data-options="lines:true,animate:true">
    <li data-options="id:1,state:'closed',iconCls:'icon-home'">
        <span>首页</span>
        <ul>
            <li data-options="id:11,attributes:{url:'dashboard.php'}"><span>控制台</span></li>
            <li data-options="id:12"><span>个人信息</span></li>
        </ul>
    </li>
    <li data-options="id:2,iconCls:'icon-chart'"><span>数据统计</span></li>
    <li data-options="id:3,iconCls:'icon-logout',attributes:{url:'logout.php'}"><span>退出系统</span></li>
</ul>

方法3:结合左侧布局 + 主内容区域(经典后台框架结构)

<div class="easyui-layout" data-options="fit:true">
    <!-- 左侧树形菜单 -->
    <div data-options="region:'west',title:'导航菜单',iconCls:'icon-tree',split:true" style="width:220px;">
        <ul class="easyui-tree" data-options="lines:true">
            <!-- 同上面的树结构 -->
        </ul>
    </div>
    <!-- 右侧主内容(可放tabs或iframe) -->
    <div data-options="region:'center'">
        <div id="mainTabs" class="easyui-tabs" data-options="fit:true,border:false">
            <div title="欢迎页" style="padding:20px;">欢迎使用EasyUI后台系统</div>
        </div>
    </div>
</div>

<script>
// 点击树节点打开或切换tab
function addTab(title, url){
    if($('#mainTabs').tabs('exists', title)){
        $('#mainTabs').tabs('select', title);
    } else {
        $('#mainTabs').tabs('add',{
            title: title,
            content: '<iframe src="'+url+'" style="width:100%;height:100%;border:0;"></iframe>',
            closable: true
        });
    }
}

// 绑定树点击事件
$('.easyui-tree').tree({
    onClick: function(node){
        if(node.attributes && node.attributes.url){
            addTab(node.text, node.attributes.url);
        }
    }
});
</script>

你现在直接复制方法1的完整代码保存为HTML文件运行,就能看到一个超级专业的树形菜单了!
这是最简单、最稳定的方式,特别适合静态菜单或菜单数据不经常变化的场景。

想要我给你一个更完整的后台框架示例(左侧标记树菜单 + 右侧tabs内容区 + 节点带url自动打开页面)?
或者你告诉我你的菜单结构(比如几级、哪些需要图标、哪些默认展开),我2分钟帮你写好完整标记代码,复制就能跑!

快说说你的具体需求,我手把手帮你搞定,5分钟内看到完美树形菜单效果!

文章已创建 4323

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部