• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP+jquery树状菜单

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

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>

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php使用restler框架构建restfullapi发布时间:2022-07-10
下一篇:
高性能PHP框架thinkphp5.0.0Beta发布-为API开发而设计发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap