EasyUI tree 相关
2016-04-18 14:29
399 查看
做个记录
页面中的js
<td><label>菜单权限</label></td>
@RequestMapping(value = "/roleEditView.action") public ModelAndView roleEditView(HttpServletRequest request,@RequestParam("roleId") String roleId ) { TTspBRolePO rolebo = roleService.queryRoleByRoleId(roleId); RoleVO roleVo = new RoleVO(); try { BeanUtils.copyProperties(roleVo, rolebo); // po转换成vo List<TTspBMenuPO> roleMenus = menuService.queryMenusByRoleId(roleId); .// 查询菜单的集合 List<String> ids = new ArrayList<String>(); for(TTspBMenuPO menu :roleMenus){ ids.add(menu.getMenuId()); } roleVo.setSelectedMenus(CommaStringUtils.parseList2CommaString(ids, CommaStringUtils.COMMA)); // 将之编程字符串,用,隔开 } catch (Exception e) { log.error("根据用户获取对应角色列表失败,错误原因为", e); throw new CommonException("查询用户角色列表失败", e); } ModelAndView mav =new ModelAndView("/role/roleEdit"); mav.addObject("role", roleVo); return mav; }
页面中的js
<script type="text/javascript"> function beforeSubmit() { var nodes = $('#tt').tree('getChecked', [ 'checked', 'indeterminate' ]); var selectedIdArray = new Array(); $.each(nodes, function(index, item) { selectedIdArray.push(item.id); }); $('#selectedMenus').val(selectedIdArray.join(',')); // 转成字符串传到后台去,再解析 return true; } $(function() { var onLoadSuccessDEfault = $.fn.tree.defaults.onLoadSuccess; $('#tt').tree({ onLoadSuccess : function(node, data) { var menuids = $('#selectedMenus').val(); var menuArray = commaStr2StrArray(menuids); // 转成数组 $.each(menuArray, function(index, item) { var node = $('#tt').tree('find', item); if (node.children.length == 0) { $('#tt').tree('check', node.target); } ; }); return onLoadSuccessDEfault.call(node, data); } }); });
</pre><pre code_snippet_id="1651484" snippet_file_name="blog_20160418_9_7566908" name="code" class="html">
</pre><pre code_snippet_id="1651484" snippet_file_name="blog_20160418_6_5724528" name="code" class="html">/** * 逗号分隔字符串转换为数组对象 * @param str */ function commaStr2StrArray(commaStr){ <span style="white-space:pre"> </span>if (commaStr != '' && commaStr != undefined){ <span style="white-space:pre"> </span>return commaStr.split(",") <span style="white-space:pre"> </span>}else{ <span style="white-space:pre"> </span>return new Array(); <span style="white-space:pre"> </span>} } </script>
<td><label>菜单权限</label></td>
<td colspan="3"> <ul id="tt" data-options="url:'${base}/menu/allMenuTree.action',animate:true,checkbox:true"></ul> </td>
</pre><pre code_snippet_id="1651484" snippet_file_name="blog_20160418_9_7566908" name="code" class="html">
<input type="hidden" id="selectedMenus" name="selectedMenus" <span style="white-space:pre"> </span>value="${role.selectedMenus}" /> <input type="hidden" id="roleId" <span style="white-space:pre"> </span>name="roleId" value="${role.roleId}" />
相关文章推荐
- Sketch真的很难上手?
- [Android实例] Handler+ExecutorService(线程池)+MessageQueue模式+缓存模式
- iOS - UISearchController搜索框与NSPredicate谓词
- identityHashCode, WeakReference,ReferenceQueue和Lucene WeakIdentityMap
- UITableView的常用代理方法
- AVI Player with Playmaker actions 使用UGUI显示视频以及控制播放视频 (二)
- 理解 Android Build 系统
- AndroidUI--SlidingMenu使用例子
- IOS-UITableView入门(2)
- 背水一战 Windows 10 (7) - 控件 UI: VisualState, VisualStateManager, 控件的默认 UI
- 原生的强大DOM选择器querySelector
- String、StringBuffer和StringBuilder的区别
- 南京理工大学第八届程序设计大赛(校外镜像) F sequence
- APUE阅读笔记(八)——进程控制
- 南京理工大学第八届程序设计大赛(校外镜像) - sequence (贪心)
- Druid基本使用配置以及如何查看sql信息监控日志
- IOS开发之001 控件类 UIlabel全解
- IOS开发之小实例--使用UIImagePickerController创建一个简单的相机应用程序
- 【Arduino官方教程第一辑】示例程序 1-5 LED亮度渐隐
- Android Stuidio解决更新下载时无法连接URL的问题