本项目开发过程中涉及树状菜单,于是做如下分享菜单实现 不足之处请大牛指点并见谅(如图)

1:数据表涉及字段

`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '系统菜单ID',
`pid` int(10) DEFAULT NULL COMMENT '父级ID',
`name` varchar(200) DEFAULT NULL COMMENT '菜单名称',
`params` varchar(200) DEFAULT NULL COMMENT 'url参数',
`sort` tinyint(4) DEFAULT '1' COMMENT '排序',
`status` tinyint(1) DEFAULT '1' COMMENT '菜单状态(1:显示 2:隐藏 3:删除)',
`is_system` tinyint(1) DEFAULT '0' COMMENT '是否系统菜单(1:是 0:否)',
`level` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '菜单级别',

2:html代码

  <volist name="list"  id="item"><tr><td>{$item.id}</td><td class="font-bold text-left"><a class="menu_tree" is-load="0" menu-level="{$item.level}" onclick="menu_tree(this,'close')" href="javascript:void(0)" note-id="{$item.id}" ><i class="glyph-icon icon-plus"></i> {$item.name}</a> </td><td>{$item.controller}</td><td>{$item.action}</td><td>{$item.params}</td><td>{$item.level}</td><td>{$item.sort}</td><td><if condition="$item['status'] eq 1">显示<elseif condition="$item['status'] eq 2"  />隐藏<else />删除</if></td><td><a title=""  href="#" data-placement="top" class="btn medium ui-state-default" data-original-title="Edit"><span class="glyph-icon icon-edit button-content editMenuLayer" data-id="{$item.id}">编辑</span></a><a title="" data-id="{$item.id}"  data-placement="top" class="btn small bg-white tooltip-button menuDelete"  href="#" data-original-title="Remove"><span class="glyph-icon icon-remove " ></span>删除</a></td></tr> </volist>

3:加载html

<volist name="list"  id="item">  <tr class="sub_menu{$item['level']}"><td>{$item.id}</td><td class="font-bold text-left">  <php>//空格$space="";for($i=0;$i<($item['level']-1)*2;$i++){$space .="&nbsp;&nbsp;";}   echo $space;</php><a class="menu_tree" menu-level="{$item.level}" onclick="menu_tree(this,'close')" href="javascript:void(0)" is-load="0" note-id="{$item.id}" ><i class="glyph-icon icon-plus"></i> {$item.name}</a> </td><td>{$item.controller}</td><td>{$item.action}</td><td>{$item.params}</td><td>{$item.level}</td><td>{$item.sort}</td><td><if condition="$item['status'] eq 1">显示<elseif condition="$item['status'] eq 2"  />隐藏<else />删除</if></td><td><a title=""  href="#" data-placement="top" class="btn medium ui-state-default" data-original-title="Edit"><span class="glyph-icon icon-edit button-content editMenuLayer" data-id="{$item.id}">编辑</span></a><a title="" data-id="{$item.id}"  data-placement="top" class="btn small bg-white tooltip-button menuDelete"  href="#" data-original-title="Remove"><span class="glyph-icon icon-remove " ></span>删除</a></td></tr> </volist>

4:js代码

 <script>//树状菜单function menu_tree(a,type){var note_id = $(a).attr('note-id');var is_load = $(a).attr('is-load');var level = $(a).attr('menu-level');if(type=="close"){
var url="{:U('Menu/sub_menu')}"//是否已经加载if(is_load!=1){$.post(url,{id:note_id},function(data){if(data.status==1){                         $(a).attr('onclick',"menu_tree(this,'open')");                        $(a).children('i').removeClass('icon-plus');                       $(a).children('i').addClass("icon-minus");$(a).attr('is-load',1);$(a).parent('td').parent('tr').after(data.info);}},'json');}else{$(a).attr('onclick',"menu_tree(this,'open')"); $(a).children('i').removeClass('icon-plus'); $(a).children('i').addClass("icon-minus");//显示下级$(a).parent('td').parent('tr').nextUntil('.sub_menu'+level+'').show();}}else{//隐藏下级         $(a).parent('td').parent('tr').nextUntil('.sub_menu'+level+'').hide();$(a).children('i').removeClass('icon-minus');$(a).children('i').addClass("icon-plus");$(a).attr('onclick',"menu_tree(this,'close')");}}</script>

转载于:https://www.cnblogs.com/chenfeizhou/p/5596174.html

PHP+jquery 树状菜单相关推荐

  1. java 树 右键菜单_jQuery实现自定义右键菜单的树状菜单效果

    本文实例讲述了jQuery实现自定义右键菜单的树状菜单效果.分享给大家供大家参考.具体如下: 这是一款基于jQuery的自定义右键菜单,在树状结构的子节点(下级没有节点)上单击右键才会弹出自定义菜单, ...

  2. 纯CSS打造可折叠树状菜单

    1:Html代码 <li> <label for="subsubfolder1">下级</label> <input id="s ...

  3. vue+element实现树状菜单并底层菜单横向排列

    参考博文:https://blog.csdn.net/qq_33769914/article/details/81562278 效果如下: 首先用elemnetUI的树形控件,将获取到的数据进行基本展 ...

  4. elementui树状菜单tree_Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)...

    这篇博客主要介绍树形控件的两个小小的功能: 下拉菜单 输入过滤框 以CSS样式为主,也会涉及到Vue组件和element组件的使用. 对于没有层级的数据,我们可以使用表格或卡片来展示.要展示或建立层级 ...

  5. elementui树状菜单tree_Java + Element-UI 实现简单的树形菜单

    一.简单入门级树形菜单实现(纯后台逻辑) 1.简介 (1)开发环境 IDEA + JDK1.8 + mysql 1.8 SpringBoot 2.2.6 + mybatis-plus 此处仅后台开发( ...

  6. elementui树状菜单tree_vue.js+element-ui做出菜单树形结构

    这次给大家带来vue.js+element-ui做出菜单树形结构,vue.js+element-ui做出菜单树形结构的注意事项有哪些,下面就是实战案例,一起来看一下. 由于业务需要,要求实现树形菜单, ...

  7. 动态html树形菜单模板,JS+CSS简易树状菜单Tree

    /p> "http://www.w3.org/TR/html4/loose.dtd"> 树形菜单实例-www.mb5u.com function showhide_ob ...

  8. html树状图右侧_treeview-树形菜单js组件编写及应用

    简要介绍: 之前手头的一个项目需要去做一个左侧的树形菜单,右侧则是一个整体的iframe,从而构成一个整体的网站.一开始是打算用bootstrap的tree-view插件,直接把菜单的数据传过去就好了 ...

  9. Java Swing编程之仿js树状折叠菜单

    最近要完成一个需求:用swing做个树状菜单,含二级菜单,点击一级菜单展开二级菜单,且二级菜单数目超过预览视图会出现滚动条.由于swing研究的少,花了不少精力! 先看下测试效果图: 收起图: 展开图 ...

最新文章

  1. Djang1.8+Python2.0迁移到Django2.0+Python3.6注意事项(转)
  2. ajax实现给JavaScript中全局变量赋值(转)
  3. 卡式水分滴定仪预测模型分析
  4. UA MATH563 概率论的数学基础 鞅论初步2 条件期望的应用:推导二元随机变量的条件概率与条件期望
  5. 大学计算机基础python第二次作业_python第二次作业-titanic数据集练习
  6. 10行代码让你轻松搞定对象检测
  7. UVA154 Recycling【水题】
  8. java doc、docx、pdf格式互转
  9. 计算机维修与数据恢复论文,备份恢复论文,关于计算机数据备份数据恢复技术相关参考文献资料-免费论文范文...
  10. html页面悬浮提示框,js实现页面悬浮框
  11. php 三才五格计算,姓名、名字笔划算命五格测试算命计算方法
  12. regularization 正则化
  13. python实现文本审核_百度AI文本审核API使用说明
  14. 怎么批量修改html文件后缀,如何批量修改文件后缀名 超详细介绍
  15. windows10修复引导
  16. 引用 《大明宫词》经典台词89句
  17. PHP 实现阿里云短信API对接(登录/注册参考)
  18. windows BOM
  19. 田园风光别样滋味——郧西县河夹镇龙窝村首届山野葡萄采摘节
  20. 在CV/NLP/DL领域中,有哪些修改一行代码或者几行代码提升性能的算法?

热门文章

  1. 5菜鸟教程_excel图文教程:应用PQ工具进行数据整理
  2. 【WebRTC---源码篇】(一)全局初始化
  3. php简单网站源码包含数组_PHP无限分级阶梯递归数组排列 以及多层嵌套数组在网页中的解析源码...
  4. 计算机网络标准体系,计算机网络标准体系结构实验报告.doc
  5. 光端机和收发器的区别有哪些?
  6. 飞畅科技-专业交换机厂家解读市场对工业交换机产品的要求有哪些?
  7. 【渝粤教育】国家开放大学2018年春季 7394-22T政府公共关系 参考试题
  8. mysql导入创建表空间_oracle创建表空间 导入数据库
  9. MATLAB 命令 BOXPLOT
  10. flask对mysql数据库增删改查_Flask学习(三) - Flask-SQLAlchemy对数据库增删改查