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框架 ...
随机推荐
- jboss 异常处理
异常: jboss.aop:service=AspectManager 15:19:46,361 ERROR [ScannerThread] [MainDeployer] org.jboss.depl ...
- OpenSL ES 查询设备支持的SL Profiles
opensl es 提供了三种类型:分别是 SL_PROFILES_PHONE(手机):SL_PROFILES_MUSIC(音乐); SL_PROFILES_GAME (游戏). 如果你使用的手机的开 ...
- C#--抽象工厂设计模式原理
C#--抽象工厂设计模式原理 C#--抽象工厂设计模式--三层框架 C#--使用反射改进简单工厂
- centos sendmail 启动慢
from:http://www.cnblogs.com/kerrycode/p/4717498.html 在 CentOS release 6.6 上启动sendmail服务时发现服务启动过程非常慢, ...
- Qt使用MSVC编译器不能正确显示中文的解决方案
用VisualStudio做为IDE,使用Qt框架,显示中文,会出现乱码的情况. 原因:MSVC编译器虽然可以正常编译带BOM的UTF-8编译的源文件,但是生成的可执行文件的编码是Windows本地字 ...
- SecureCRT去除关闭Session的确认窗口提示
- hive 显示分区
显示某一张表的分区值 show partitions table_name;
- Python——序列
#!/usr/bin/python #coding:utf8 ''' Python——序列 字符串的操作 ''' s = 'abcdefg' print s print s[2] print s[-1 ...
- Mysql count(1) group_concat 高级用法(count 过滤条件,group_concat过滤条件)
1.官方文档: count:COUNT(expr) [over_clause] https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.h ...
- win10磁盘碎片整理
如果我们想要加快win10系统运行速度的话,就需要定期整理碎片才可以,减少卡顿,提高性能. 一:注意事项 固态硬盘用户千万不要使用‘磁盘碎片整理功能’,因为使用的技术不一样,使用window自带的该功 ...