- jQuery EasyUI 教程
- jQuery EasyUI 简介
- jQuery EasyUI 应用 – 创建 CRUD 应用
- jQuery EasyUI 应用 – 创建 CRUD 数据网格
- jQuery EasyUI 应用 – 创建展开行明细编辑表单的 CRUD 应用
- jQuery EasyUI 应用 – 创建 RSS Feed 阅读器
- jQuery EasyUI 拖放 – 基本的拖动和放置
- jQuery EasyUI 拖放 – 创建拖放的购物车
- jQuery EasyUI 拖放 – 创建学校课程表
- jQuery EasyUI 菜单与按钮 – 创建简单的菜单
- jQuery EasyUI 菜单与按钮 – 创建链接按钮
- jQuery EasyUI 菜单与按钮 – 创建菜单按钮
- jQuery EasyUI 菜单与按钮 – 创建分割按钮
- jQuery EasyUI 布局 – 为网页创建边框布局
- jQuery EasyUI 布局 – 在面板中创建复杂布局
- jQuery EasyUI 布局 – 创建折叠面板
- jQuery EasyUI 布局 – 创建标签页(Tabs)
- jQuery EasyUI 布局 – 动态添加标签页(Tabs)
- jQuery EasyUI 布局 – 添加自动播放标签页(Tabs)
- jQuery EasyUI 布局 – 创建 XP 风格左侧面板
- jQuery EasyUI 数据网格 – 转换 HTML 表格为数据网格
- jQuery EasyUI 数据网格 – 取得选中行数据
- jQuery EasyUI 数据网格 – 添加查询功能
- jQuery EasyUI 数据网格 – 添加工具栏
- jQuery EasyUI 数据网格 – 创建复杂工具栏
- jQuery EasyUI 数据网格 – 设置冻结列
- jQuery EasyUI 数据网格 – 动态改变列
- jQuery EasyUI 数据网格 – 格式化列
- jQuery EasyUI 数据网格 – 设置排序
- jQuery EasyUI 数据网格 – 自定义排序
- jQuery EasyUI 数据网格 – 创建列组合
- jQuery EasyUI 数据网格 – 添加复选框
- jQuery EasyUI 数据网格 – 自定义分页
- jQuery EasyUI 数据网格 – 启用行内编辑
- jQuery EasyUI 数据网格 – 扩展编辑器
- jQuery EasyUI 数据网格 – 列运算
- jQuery EasyUI 数据网格 – 合并单元格
- jQuery EasyUI 数据网格 – 创建自定义视图
- jQuery EasyUI 数据网格 – 创建页脚摘要
- jQuery EasyUI 数据网格 – 条件设置行背景颜色
- jQuery EasyUI 数据网格 – 创建属性网格
- jQuery EasyUI 数据网格 – 扩展行显示细节
- jQuery EasyUI 数据网格 – 创建子网格
- jQuery EasyUI 数据网格 – 使用虚拟滚动视图显示海量数据
- jQuery EasyUI 数据网格 – 添加分页组件
- jQuery EasyUI 窗口 – 创建简单窗口
- jQuery EasyUI 窗口 – 自定义窗口工具栏
- jQuery EasyUI 窗口 – 窗口与布局
- jQuery EasyUI 窗口 – 创建对话框
- jQuery EasyUI 窗口 – 自定义带有工具条和按钮的对话框
- jQuery EasyUI 树形菜单 – 使用标记创建树形菜单
- jQuery EasyUI 树形菜单 – 创建异步树形菜单
- jQuery EasyUI 树形菜单 – 树形菜单添加节点
- jQuery EasyUI 树形菜单 – 创建带复选框的树形菜单
- jQuery EasyUI 树形菜单 – 树形菜单拖放控制
- jQuery EasyUI 树形菜单 – 树形菜单加载父/子节点
- jQuery EasyUI 树形菜单 – 创建基础树形网格
- jQuery EasyUI 树形菜单 – 创建复杂树形网格
- jQuery EasyUI 树形菜单 – 树形网格动态加载
- jQuery EasyUI 树形菜单 – 树形网格添加分页
- jQuery EasyUI 树形菜单 – 树形网格惰性加载节点
- jQuery EasyUI 表单 – 创建异步提交表单
- jQuery EasyUI 表单 – 表单验证
- jQuery EasyUI 表单 – 创建树形下拉框(ComboTree)
- jQuery EasyUI 表单 – 格式化下拉框(ComboBox)
- jQuery EasyUI 表单 – 过滤下拉数据网格(ComboGrid)
- jQuery EasyUI 插件
- jQuery EasyUI 扩展
- jQuery EasyUI 教程
- jQuery EasyUI 扩展 – 可编辑的数据网格
- jQuery EasyUI 基础插件 – Parser 解析器
- jQuery EasyUI 数据网格与树插件 – Treegrid 树形网格
- jQuery EasyUI 基础插件 – Easyloader 加载器
- jQuery EasyUI 基础插件 – Draggable 可拖拽
- jQuery EasyUI 基础插件 – Droppable 可释放
- jQuery EasyUI 基础插件 – Resizable 可调整尺寸
- jQuery EasyUI 基础插件 – Pagination 分页
- jQuery EasyUI 基础插件 – Searchbox 搜索框
- jQuery EasyUI 基础插件 – Progressbar 进度条
- jQuery EasyUI 基础插件 – Tooltip 提示框
- jQuery EasyUI 布局插件 – Panel 面板
- jQuery EasyUI 布局插件 – Tabs 标签页/选项卡
- jQuery EasyUI 布局插件 – Accordion 折叠面板
- jQuery EasyUI 布局插件 – Layout 布局
- jQuery EasyUI 菜单与按钮插件 – Menu 菜单
- jQuery EasyUI 菜单与按钮插件 – Linkbutton 链接按钮
- jQuery EasyUI 菜单与按钮插件 – Menubutton 菜单按钮
- jQuery EasyUI 菜单与按钮插件 – Splitbutton 分割按钮
- jQuery EasyUI 表单插件 – Form 表单
- jQuery EasyUI 表单插件 – Validatebox 验证框
- jQuery EasyUI 表单插件 – Combobox 组合框
- jQuery EasyUI 表单插件 – Combotree 组合树
- jQuery EasyUI 表单插件 – Combogrid 组合网格
- jQuery EasyUI 表单插件 – Numberbox 数字框
- jQuery EasyUI 表单插件 – Datebox 日期框
- jQuery EasyUI 表单插件 – Datetimebox 日期时间框
- jQuery EasyUI 表单插件 – Calendar 日历
- jQuery EasyUI 表单插件 – Spinner 微调器
- jQuery EasyUI 表单插件 – Numberspinner 数值微调器
- jQuery EasyUI 表单插件 – Timespinner 时间微调器
- jQuery EasyUI 表单插件 – Slider 滑块
- jQuery EasyUI 窗口插件 – Window 窗口
- jQuery EasyUI 窗口插件 – Dialog 对话框
- jQuery EasyUI 窗口插件 – Messager 消息框
- jQuery EasyUI 数据网格与树插件 – Datagrid 数据网格
- jQuery EasyUI 数据网格与树插件 – Propertygrid 属性网格
- jQuery EasyUI 数据网格与树插件 – Tree 树
- jQuery EasyUI 扩展 – Portal
- jQuery EasyUI 扩展 – 数据网格视图
- jQuery EasyUI 扩展 – 可编辑的树
- jQuery EasyUI 扩展 – 数据网格行过滤
- jQuery EasyUI 扩展 – 数据网格行拖放
- jQuery EasyUI 扩展 – 树形网格行拖放
- jQuery EasyUI 扩展 – 主题
- jQuery EasyUI 扩展 – DWR 加载器
- jQuery EasyUI 扩展 – RTL 支持
- jQuery EasyUI 扩展 – Ribbon
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
jQuery EasyUI 树形菜单 – 树形菜单加载父/子节点
pre { white-space: pre-wrap; }
通常表示一个树节点的方式就是在每一个节点存储一个 parentid。 这个也被称为邻接列表模型。 直接加载这些数据到树形菜单(Tree)是不允许的。 但是我们可以在加载树形菜单之前,把它转换为标准标准的树形菜单(Tree)数据格式。 树(Tree)插件提供一个 'loadFilter' 选项函数,它可以实现这个功能。 它提供一个机会来改变任何一个进入数据。 本教程向您展示如何使用 'loadFilter' 函数加载父/子节点到树形菜单(Tree)。
父/子节点数据
[ {"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"} ]
使用 'loadFilter' 创建树形菜单(Tree)
$('#tt').tree({ url: 'data/tree6_data.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 nodes for(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 nodes for(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; }
下载 jQuery EasyUI 实例
jeasyui-tree-tree6.zip
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论