Mustache应用——渲染二级菜单

#

 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);
    }

});
时间: 2024-10-02 17:21:06

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

根据权限动态生成二级菜单

数据库models设计: from django.db import models """ 一级菜单 """ class Menu(models.Model): title = models.CharField(max_length=32, unique=True) icon = models.CharField(max_length=32, verbose_name="图标", null=True, blank=True)

二级菜单优化功能

二级菜单的功能优化---渐入佳境 功能1:点击其中之一的一级菜单展示其二级菜单,同时其他一级菜单的二级菜单都处于闭合状态 思路:使用jsDOM操作进行实现 HTML示例代码 <div class="multi-menu"> {% for menu in menu_list %} <div class="item"> <div class="title"><i class="fa {{ menu.

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

一. 一级菜单表 1. 首先要修改权限表的字段, 在权限表下面加上icon和 is_menu 的字段 2. 展示结果 # 我们既然想要动态生成一级菜单,那么就需要从数据库中拿出当前登录的用户的菜单表是哪个,那么我们就要在验证的部分拿出is_menu的字段,看是否为True, 然后把这些数据存到session中去,这里我们最好把request.session[key]中的可以写到settings中去,这样以后修改也方便些 其他的地方要用到session的时候也直接导入settings就行 3. 

动态生成二级菜单

现在越来越多的用到二级甚至多级菜单,前台菜单的显示,手动指定也越来越不能满足要求,所以,动态生成菜单是必须的 思路 + 示例代码(以二级菜单为例) 先取出一级菜单内容值,接下来遍历一级菜单,将其id当做本次检索的parentid,将与之对应的二级菜单值获取到, 并加入到当前数组中(后台) 二层循环,当获取一个值时,检查其对于的二级菜单项是否有数据,有的话,则输出来,没有则跳过(前台) 以PHP后台为例 $res = mysql_query('*** where parentid = 0');  

jquery实现后台系统左侧菜单的点击展开/收缩二级菜单效果

html: <div class="col-sm-3 col-md-2 sidebar"> <div class="totalt"><a>系统管理系统</a></div> <ul class="menu"> <li class="title"> <a class="item item1"><span cla

html+css二级菜单制作!

二级菜单!!<!DOCTYPE html<html lang="e<head> <meta charset="UTF-8"> <title>Title</title> <style> *{ padding: 0; margin: 0; } .er{ width: auto; background-color: antiquewhite; } a{ text-decoration: none; } .er

一级菜单 二级菜单的联动

1.页面代码:单个集合循环生成一级和二级菜单 /* <c:forEach var="m" items="${list}" >                              <c:if test="${m.mb.father eq '-1' }">                                   <input type="checkbox" name="me

菜单(二级菜单)

一级菜单,div id是mian(i) 注意:i是数字: 二级菜单,div id是child(i)注意:i是数字 target属性是对应<iframe>标签的属性name,这表示在./zy-dzsw.html页面在<iframe>容器显示. <a href="#"><div id="main1" style="color:blue" onclick="document.all.child1.st

Javascript实现简单的下拉二级菜单

在线演示;http://jsfiddle.net/Web_Code/ThhbG/embedded/result/ <span style="font-size:14px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <