jQuery easyUI 树形菜单
来源:互联网 发布:sql server创建触发器 编辑:程序博客网 时间:2024/05/15 11:59
通常表示一个树节点的方式就是在每一个节点存储一个 parentid。 这个也被称为邻接列表模型。 直接加载这些数据到树形菜单(Tree)是不允许的。 但是我们可以在加载树形菜单之前,把它转换为标准标准的树形菜单(Tree)数据格式。 树(Tree)插件提供一个 'loadFilter' 选项函数,它可以实现这个功能。 它提供一个机会来改变任何一个进入数据。 本教程向您展示如何使用 'loadFilter' 函数加载父/子节点到树形菜单(Tree)。
在jsp头部必须引入jQuery easyUI的js和css
定义一个tree_data.json的文件,里面内如如下:
[{"id":1,"parendId":0,"name":"Foods"},{"id":2,"parentId":1,"name":"Fruits"},{"id":3,"parentId":1,"name":"Vegetables"},{"id":4,"parentId":2,"name":"apple"},{"id":5,"parentId":2,"name":"orange"},{"id":6,"parentId":3,"name":"tomato"},{"id":7,"parentId":3,"name":"carrot"},{"id":8,"parentId":3,"name":"cabbage"},{"id":9,"parentId":3,"name":"potato"},{"id":10,"parentId":3,"name":"lettuce"}]
然后使用loadFile方法创建菜单树,js中内容如下:
$(function(){//加载菜单树$('#tt').tree({url:'../jsp/tree_data2.json',loadFilter: function(rows){return convert(rows);}});});
菜单树转换的实现:
function convert(rows){function exists(rows, parentId){for(var i=0; i<rows.length; i++){if (rows[i].id == parentId) return true;}return false;}var nodes = [];// get the top level nodesfor(var i=0; i<rows.length; i++){var row = rows[i];if (!exists(rows, row.parentId)){nodes.push({id:row.id,text:row.name});}}var toDo = [];for(var i=0; i<nodes.length; i++){toDo.push(nodes[i]);}while(toDo.length){var node = toDo.shift();// the parent node// get the children nodesfor(var i=0; i<rows.length; i++){var row = rows[i];if (row.parentId == node.id){var child = {id:row.id,text:row.name};if (node.children){node.children.push(child);} else {node.children = [child];}toDo.push(child);}}}return nodes;}
0 0
- jQuery easyui 树形菜单
- jQuery easyUI 树形菜单
- jQuery树形菜单(2)jquery-easyui
- jQuery树形菜单(2)jquery-easyui
- 轻松学习jQuery插件EasyUI EasyUI创建树形菜单
- EasyUI 树形菜单
- EasyUI 树形菜单网格
- EasyUI 树形菜单网格
- jquery easyui树形菜单调用点击事件例子
- jQuery EasyUI使用教程之使用标记创建树形菜单
- jQuery EasyUI使用教程之添加节点到树形菜单
- jQuery EasyUI实现树形菜单及显示列表信息
- easyUI-combotree-树形下拉菜单
- easyui树形结构读取菜单
- easyui树形菜单学习第一步
- jquery树形菜单
- JQuery【树形菜单】
- jquery二级树形菜单
- RaspberryPi 树莓派启动报错 mmcblk0: error -110 解决方法
- vs2008+stlport下编译boost1_47_0 64位
- MySQL创建Function时报的1418错误代号解决办法
- 基于Karma,Jasmine的AngularJS,RequireJS单元测试配置笔记
- [ASP.NET MVC 小牛之路]04 - 依赖注入(DI)和Ninject
- jQuery easyUI 树形菜单
- TreeGrid异步加载
- 练习
- 欢迎使用Markdown编辑器写博客
- 基于802.1x认证的windows server 2003 RADIUS服务器的搭建
- 完美的jquery事件绑定方法on()
- MSFlexGrid问题
- 异步复位同步释放
- 关于后端模板和前端 JavaScript 的关系