Bootstrap treeview实现动态加载数据并添加快捷搜索功能

前端之家收集整理的这篇文章主要介绍了Bootstrap treeview实现动态加载数据并添加快捷搜索功能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

写在前面:

jQuery多级列表树插件基于Bootstrap,以简单和优雅的方式来显示一些继承树结构,如视图树、列表树等。

实用Bootstrap树形菜单特效插件Bootstrap Tree View,非常不错的Bootstrap插件,现在很多Bootstrap制作的页面都需要此功能,此插件需要Bootstrap3版本以及jQuery 2.0极以上版本支持支持多参数自定义功能,颜色、背景色、图标、链接等,还是很不错的。

具体效果请暂时移步: nofollow" href="http://jonmiles.github.io/bootstrap-treeview/">http://jonmiles.github.io/bootstrap-treeview/

好了,话不多说,开整。

要求用户能够快速查询到省市区的区域名称信息(给用户参考,用于规范书写导入模板),并且以树形结构展示。

最终效果展示:

一、 数据表结构 数据源为省市区地域信息表,该表为自关联结构。如图:

二、前台页面

1.页面引入

2.页面展示区

快捷搜索
搜索: 查询的省市区名称信息..." value="">
**_ _**
省市区名称层级树
查询结果展示

3.js 脚本

0){ searchableNodes = findSearchableNodes(); } else { $('#treeview-searchable').treeview('collapseAll',{ silent : false //设置初始化节点关闭 }); } //$('.select-node').prop('disabled',!(searchableNodes.length >= 1)); }); var search = function(e) { var pattern = $.trim($('#input-search').val()); var options = { ignoreCase: $('#chk-ignore-case').is(':checked'),exactMatch: $('#chk-exact-match').is(':checked'),revealResults: $('#chk-reveal-results').is(':checked') }; var results = $searchableTree.treeview('search',[ pattern,options ]); var output = '

' + results.length + ' 匹配的搜索结果

'; $.each(results,function (index,result) { output += '

-

'; }); $('#search-output').html(output); } $('#btn-search').on('click',search); $('#input-search').on('keyup',search); $('#btn-clear-search').on('click',function (e) { $searchableTree.treeview('clearSearch'); $('#input-search').val(''); $('#search-output').html(''); $('#treeview-searchable').treeview('collapseAll',{ silent : false//设置初始化节点关闭 }); });
},error: function () {
 alert("省市区地域信息加载失败!")
}

});
});

三、后台主要代码 后台采用SpringMVC+Spring+Mybatis框架, 以下为Controller层代码

queryAreaInfo() { List areaInfo=new ArrayList<>(); try { //获取缓存中的省市区信息(本项目直接从缓存中获取,也可以单独写方法到Service、Dao层查询) EcncSysConfig sysConfig = new EcncSysConfig(); areaInfo = sysConfig.INIT_SYS_ECNC_AREAVO; } catch (Throwable e) { e.printStackTrace(); } //盛放省份 List result=new ArrayList<>(); for (AreaVO areaVO : areaInfo) { Map map= new HashMap<>(); if("2".equals(areaVO.getGrade())){ map.put("text",areaVO.getName()); //盛放地市 List cList=new ArrayList<>(); for (AreaVO cVO : areaInfo) { Map cMap=new HashMap<>(); if (cVO.getParentId() != null && cVO.getParentId().equals(areaVO.getId())) { cMap.put("text",cVO.getName()); //盛放区县 List rList=new ArrayList<>(); for (AreaVO rVO : areaInfo) { Map rMap=new HashMap<>(); if (cVO.getId().equals(rVO.getParentId())) { rMap.put("text",rVO.getName()); rList.add(rMap); } } cMap.put("nodes",rList); cList.add(cMap); } } map.put("nodes",cList); result.add(map); } } return result; }

总结

以上所述是小编给大家介绍的Bootstrap treeview实现动态加载数据并添加快捷搜索功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言!

猜你在找的Bootstrap相关文章