bootstrap-treeview的 简单使用
理论:http://blog.csdn.net/babyxue/article/details/73835444
插依赖Bootstrap 和jQuery
<link href="~/bootstrap-treeview.css" rel="stylesheet" />
<link href="./css/bootstrap.css" rel="stylesheet">
<script src="./js/jquery.js"></script>
<script src="./js/bootstrap-treeview.js"></script>
<div class="col-sm-3">
<input type="hidden" id="powerList" name="powerList" value='${powerList}'/>
<input type="hidden" id="ids" name="ids" value="${ids}" />
<c:if test="${powerList!=null}">
<div id="tree"></div>
</c:if>
</div>
js中
- var log = {
- initTree: function () {
- var data = $('#powerList').val();
- $('#tree').treeview({
- data: data,
- showCheckbox:false,
- multiSelect:false,
- onNodeSelected:function(event,node){ //选中节点其子节点,父节点
- var ids = [];
- var parentNode = $('#tree').treeview('getParent',node); //父节点//
- var nodes = node.nodes; //子节点
- if(nodes){
- for(var i=0; i<nodes.length; i++){
- ids.push(nodes[i].id)
- var childNode = nodes[i].nodes;
- if(childNode){
- for(var j=0; j<childNode.length; j++){
- ids.push(childNode[j].id)
- }
- }
- }
- }else{
- ids.push(node.id)
- }
- //console.info(ids);
- $('#ids').val(ids);
- setTimeout(function () {
- log.reload();
- }, 1000)
- },
- onNodeUnselected:function(event,node){
- $('#ids').val('');
- setTimeout(function () {
- log.reload();
- }, 1000)
- }
- });
- }
};
这里得到节点的id的时候,有点小问题
- @RequestMapping(value = "view")
- public ModelAndView toLog(ModelAndView modelAndView) throws Exception {
- modelAndView.setViewName("system/log");
- try{
- List<TreeObject> list = getTree(Long.parseLong("-1"));
- TreeObject treeObject = new TreeObject();
- treeObject.setId(-1L);
- treeObject.setText("全部菜单");
- State rootState = new State();
- rootState.setExpanded(true);
- rootState.setChecked(false);
- treeObject.setState(rootState);
- //只显示递归产生的两层
- TreeObject treeObj = new TreeObject();
- for(int i = 0; i < list.size(); i++){
- List<TreeObject> list2 = list.get(i).getNodes();
- if(list2 != null && list2.size() > 0){
- for(int j = 0; j < list2.size(); j++){
- if(list2.get(j).getNodes() != null){
- list2.get(j).setNodes(null);
- }
- }
- }
- }
- treeObject.setNodes(list);
- modelAndView.addObject("powerList", "[" + JSON.toJSONString(treeObject) + "]");
- }catch(Exception ex){
- logger.error("进入日志管理页面出错!",ex);
- }
- return modelAndView;
- }
- //递归树
- public List<TreeObject> getTree(Long parentid) {
- List<TreeObject> list = new ArrayList<TreeObject>();
- List<TreeObject> total = new ArrayList<TreeObject>();
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("parent_id", parentid);
- map.put("sys_type", 1);
- List<Power> powerList = powerService.getPowerByGroupLevel(map);
- for (Power power : powerList) {
- TreeObject tb = new TreeObject();
- tb.setId(power.getPower_id());
- tb.setText(power.getPower_name());
- State state = new State();
- state.setChecked(false);
- state.setExpanded(false);
- if (power.getChildcnt() > 0) {
- List<TreeObject> child = getTree(power.getPower_id());
- tb.setNodes(child);
- }
- tb.setState(state);
- list.add(tb);
- }
- total.addAll(list);
- return total;
- }
bootstrap-treeview的 简单使用的更多相关文章
- 对bootstrap modal的简单扩展封装
对bootstrap modal的简单扩展封装 参考自:http://www.muzilei.com/archives/677 注:原文不支持bootstrap新版本,并且居中等存在问题 此段时间 ...
- Bootstrap treeview增加或者删除节点
参考(AddNode: http://blog.csdn.net/qq_25628235/article/details/51719917,deleteNode:http://blog.csdn.ne ...
- 初始化bootstrap treeview树节点
最近在做启明星图库时,使用了Jquery Bootstrap Treeview插件.但是,遇到了一个初始化的问题.先看效果如下: 当用户打开图库时,左边分类第一个类别是“所有分类”,默认需要选中. ...
- webUI框架miniUI,easyUI,extJS,Bootstrap简介及简单部署
本文为大家讲解的是webUI框架miniUI,easyUI,extJS,Bootstrap简介及简单部属,感兴趣的同学参考下 ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端a ...
- Bootstrap在线编辑器简单分享
Bootstrap 已经使响应式网站开发变得简单很多. 但是如果你不必手动写全部代码,事情会如何呢? 如果你可以自由地选择你想要使用的Bootstrap 组件.并可以把它们拖拽到画布中,事情会如何呢? ...
- jQuery treeview的简单用法
最近的项目要用到treeview插件,刚好就自己整理一下这方面的资料. 1.文档树示例 最简单的一个例子就是文档树的实现.效果如下图所示. 在使用treeview之前,html文档中需要包含几个jqu ...
- BootStrap 按钮组简单介绍
学会按钮组需要掌握以下几个类. btn btn-group btn-toolbar btn-group-vertical 和 下拉菜单的基本类 dropdown-toggle dropdow ...
- BootStrap TreeView使用示例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- bootstrap treeview 树形数据生成
这个问题还是挺经典的,后台只是负责查出所有的数据,前台js来处理数据展示给treeview;show you the code below:<script> $(function () { ...
- bootstrap treeview实现菜单树
本博客,介绍通过Bootstrap的treeview插件实现菜单树的功能. treeview链接:http://www.htmleaf.com/Demo/201502141380.html ORM框架 ...
随机推荐
- ABAP-HTTP发送JSON
1. HTTP发送JSON格式数据: function zap_01_url_sap_to_c3 . *"------------------------------------------ ...
- 压缩文件tar.gz和zip之间的区别
我们在开发的时候通常要先下载相关的软件或者是源码,或者是jar包.在下载东西的时候总是碰见后缀是.tar.gz和.zip的问题,搞不清楚是怎么回事,不晓得下载哪个文件才是对自己有用的.现在我知道了,其 ...
- Spring 中的国际化Message的简单例子(ApplicationContext) 不跟框架集成的版本
首先,建立一个描述message的XML文件,名为messages.xml <?xml version="1.0" encoding="UTF-8" ...
- mysql 存储过程分页 转载
/* --名称:MYSQL版查询分页存储过程 by peace 2013-8-14 --输入参数:@fields -- 要查询的字段用逗号隔开 --输入参数:@tables -- 要查询的表 --输入 ...
- OpenCv 人脸识别 基础
#include <opencv2\opencv.hpp> #include <iostream> using namespace std; int main() { // 摄 ...
- Web标准:三、二列和三列布局
知识点: 1.二列自适应宽度 2.二列固定宽度 3.二列固定宽度居中 4.xhtml的块级元素(div)和内联元素(span) 5.float属性 6.三列自适应宽度 7.三列固定宽度 8.三列固定宽 ...
- vs code 插件推荐
通用插件 HTML Snippets 超级实用且初级的 H5代码片段以及提示 HTML CSS Support 让 html 标签上写class 智能提示当前项目所支持的样式新版已经支持scss文件检 ...
- Intersection of Two Linked Lists(LIST-2 POINTER)
Write a program to find the node at which the intersection of two singly linked lists begins. For ex ...
- 基于AspectJ的XML方式进行AOP开发
-------------------siwuxie095 基于 AspectJ 的 XML 方式进行 AOP 开发 1 ...
- tomcat启动时端口占用的问题怎么解决
PS:web项目在启动的时候,一般会报Address already in use: bind,常规的处理思路为:删除任务管理器中的javaw.exe进程即可:当删除仍然解决不了时,一般处理思路如下, ...