一、菜单的样式

如上图所示,菜单一共两级。一级菜单的父结点都为0,二级菜单的父结点是前结点的code。

code:为每一个结点独一无二的标识,也可以认为是ID。

二、菜单的数据结构

编写菜单的结构,采用数组形式,每一个结点都为一个对象

 var data = [
{
code: "1",
parentCode: "0",
name: "水果"
},
{
code: "2",
parentCode: "1",
name: "苹果"
},
{
code: "3",
parentCode: "1",
name: "桔子"
},
{
code: "4",
parentCode: "1",
name: "香蕉"
},
{
code: "5",
parentCode: "0",
name: "动物"
},
{
code: "6",
parentCode: "5",
name: "老虎"
},
{
code: "7",
parentCode: "5",
name: "熊猫"
},
{
code: "8",
parentCode: "5",
name: "狗"
},
{
code: "33",
parentCode: "0",
name: "植物"
}
];
$(function () {
init();
function render(e, f, g) {
//e:模板
//f:节点code
//g:节点
var h = [];
if ($.each(data, function (a, b) {
b.parentCode == f && h.push(b)
}), h.length != 0) {
var j = Mustache.render(e, { subjects: h });
g.append(j);
}
}
function treeLevel1Click() {
var e = $(this).find("ul");
var tree_level_leaf = '<ul class="ul-leaf">{{#subjects}}<li class="children children-lv2" id="subject_{{code}}"><a class="lv2-title" href="javascript:void(0);"><span class="checkbox"></span><span class="lv2-text">{{name}}</span><span class="help"></span></a><div class="lv2-info"></div></li>{{/subjects}}</ul>';
e.length > 0 ? (e.toggle()) : render(tree_level_leaf, this.id.substr(8), $(this));
$(this).addClass("active");
}
function init()
{
var c = $("#subjectTree")
var g = $(".classify-children");
var i = '{{#subjects}}<li class="children children-lv1" id="subject_{{code}}"><a class="lv1-title" href="javascript:void(0);">{{name}}<span class="triangle-down"></span></a></li>{{/subjects}}';
render(i, 0, g);
c.delegate(".children-lv1", "click", treeLevel1Click);
} });

Mustache应用——渲染二级菜单的更多相关文章

  1. Django--CRM--一级, 二级 菜单表

    一. 一级菜单表 1. 首先要修改权限表的字段, 在权限表下面加上icon和 is_menu 的字段 2. 展示结果 # 我们既然想要动态生成一级菜单,那么就需要从数据库中拿出当前登录的用户的菜单表是 ...

  2. python 全栈开发,Day109(客户管理之动态"二级"菜单)

    昨日内容回顾 1. 权限有几张表? 2. 简述权限流程? 3. 为什么要把权限放入session? 4. 静态文件和模块文件 5. 相关技术点 - orm查询 - 去空 - 去重 - 中间件 - in ...

  3. 巨蟒django之权限7:动态生成一级&&二级菜单

    内容回顾: . 权限的控制 . 表结构设计 存权限的信息 用户表 - name 用户名 - pwd 密码 - roles 多对多 角色表 - name - permissions 多对多 权限表 - ...

  4. Django - 权限(3)- 动态显示二级菜单

    一.动态显示二级菜单 上篇随笔中,我们实现了动态显示一级菜单,现在考虑这样一种情况,用户的菜单权限比较多,这个时候全部并列展现在左侧菜单就不合适了,所以,现在有这样一个需求,即把用户的菜单权限分类,划 ...

  5. django权限之二级菜单

    遗漏知识点 1.构建表结构时,谁被关联谁就是主表,在层级删除的时候,删除子表的时候,主表不会被删除,反之删除主表的话,字表也会被删除, 使用related_name=None   反向查询,起名用的 ...

  6. django中动态生成二级菜单

    一.动态显示二级菜单 1.修改权限表结构 (1)分析需求,要求左侧菜单如下显示: 客户管理: 客户列表 账单管理: 账单列表 (2)修改rbac下的models.py,修改后代码如下: from dj ...

  7. Excel——使用OFFSET、MATCH、COUNTA实现二级菜单

    如图所示,接下来提供两种办法实现: 1.将A.B.C.D定义为名称NAME. 2.设置一级菜单单元格数据有效性为NAME. 3.设置二级菜单格数据有效为: =OFFSET($A$1,MATCH($A6 ...

  8. Django动态渲染多层菜单

    为后续给菜单设置权限管理方便,通过给页面模版菜单动态渲染,通过数据菜单表进行匹配需要渲染的菜单 #Django表结构 class Menus(models.Model): name = models. ...

  9. Jquery垂直下拉二级菜单

    自己做了一个基于Jquery 的垂直下拉二级菜单功能,直接看图: Html的代码如下: <!DOCTYPE html> <html> <head> <meta ...

随机推荐

  1. ES6对象

    --------------------------------------------------------------------- 对象的扩展 let obj = {a: 1, b: 2, c ...

  2. dev-server.js浅析

    // 检查NodeJS和npm的版本 require('./check-versions')() // 获取配置 var config = require('../config') // 如果Node ...

  3. maven项目运行报错invalid LOC header (bad signature)

    切换到项目目录pom.xml文件夹 执行以下命令: mvn test -e -X 找到出错信息 进入目录删除文件. 在ide里面重新部署项目即可.

  4. 页面练习my blog day51

    html端: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  5. mysql 添加权限和撤销权限的实例(亲测可行)

    将当前数据库的表role_modules 的select权限赋予给用户uwangq: GRANT SELECT ON role_modules TO uwangq@'%' IDENTIFIED BY ...

  6. Python ctypes.windll.user32() Examples

    Example 1 Project: OSPTF   Author: xSploited   File: mouselogger.py View Source Project 7 votes def ...

  7. Linux驱动之内核加载模块过程分析

    Linux内核支持动态的加载模块运行:比如insmod first_drv.ko,这样就可以将模块加载到内核所在空间供应用程序调用.现在简单描述下insmod first_drv.ko的过程 1.in ...

  8. 数据库以及pymysql

    1.pymysql模块操作数据库详细 import pymysql # user = 'chun' # psw = conn = pymysql.connect(host='localhost',us ...

  9. C# 一段通用的写log 日志的好程序

    public void Write(string text) { FileStream fs = new FileStream(Application.StartupPath+"/log.t ...

  10. (转)system.badimageformatexception 未能加载文件或程序集

    “/xxxxx”应用程序中的服务器错误. ------------------------------------------------------------------------------- ...