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框架 ...
随机推荐
- EXCEL 数组公式
数组里的元素,同一行内的各元素用英文逗号“,”分开,用英文分号“;”将各行分开 3.单列数组与单行数组的计算 两个数组相加,查看结果是几行几列:在任意单元格输入公式“=A80:A83+B87:E87” ...
- while and for 2
public class TestWhileAndFor2 { /** * 九九乘法表 * 1!+2!+3!+....+10!=? * */ public static void main(Strin ...
- 扩展C#与元编程(一)
众所周知,Roslyn project已经开源一年多了.简单的说,Roslyn是:1)用C#/VB写的C#/VB的编译器,以及与IDE集成:2)编译器的功能以API的方式暴露出来(即一组DLL). R ...
- 给定一个十进制数,将其转化为N进制数-----17年滴滴笔试题
题目:给定一个十进制数M,将其转化为N进制数,其中2<=N<=16,其中N为32为整型数; 输入:M N,如7 2 输出转化结果:111 注意点:考虑负数的情况,记得添加负号(其实直接添加 ...
- xshell分隔符
1.分隔符设置 \ :;`!@#$%^&()+|[]{}'",<>? 2.左键点击选中,右键点击复制
- distinct top執行順序
select distinct top 3 from table; 先distinct后top
- 如何禁止浏览器自动填充非登陆input的账号和密码?
发现浏览器填充密码的方式,那就是,找到页面上第一个type为password的input填充.发现了这个规律后,很自然的就想到了,是不是可以在真正的password前面加一个隐藏的password,形 ...
- 第六章 图(a)概述
- java的字典排序
按照教程上的代码还是报错 应该是字典排序的问题,不能是Arrays.sort()
- 对象池 object pool
对象池适用于: 对象的创建很耗时 对象频繁地释放再创建 对象池的实现:将释放的对象放进对象池中,在新建对象时,从对象池取对象 public class ObjectPool<T> wher ...