jQuery和zTree实现的下拉树
来源:互联网 发布:80后和90后的区别 知乎 编辑:程序博客网 时间:2024/04/30 23:53
在jsp(页面)中:
在js中(以设备类型为例):
<input id="selectDevType" class="device_select" onfocus="showDevTypeTree()" onclick="showDevTypeTree()" readonly="readonly"><input type="hidden" class="selectDevTypeid"><div id="devTreeContent" class="menuContent" style="display: none; position: absolute; border: 1px #CCC solid; background-color: #F0F6E4;"> <ul id="deviceTypeTree" class="ztree" style="margin-top:0;"></ul></div>记得引入jQuery和zTree的相关文件:
<link rel="stylesheet" type="text/css" href="<%= path %>/zTree/css/zTreeStyle/zTreeStyle.css"> <script type="text/javascript" src="<%= path %>/jQuery/jquery-1.6.js"></script><script type="text/javascript" src="<%= path %>/zTree/jquery.ztree.all-3.5.js"></script>
在js中(以设备类型为例):
/* * 设备类型下拉树的设置 */var deviceTypeSetting = { view: { dblClickExpand: false }, data: { simpleData: { enable: true } }, callback: { onClick: deviceTypeOnClick }};/* * 设备类型下拉树的点击事件 */function deviceTypeOnClick(e, treeId, treeNode) { var zTree = $.fn.zTree.getZTreeObj("deviceTypeTree"); nodes = zTree.getSelectedNodes(); $(".selectDevTypeid").val(nodes[0].id); $("#selectDevType").val(nodes[0].name);}/* * 初始化设备类型 * */function initDeviceType(){ $.ajax({ url:urlDomain+'/Dvice-queryDeviceTypeTree', type:'POST', data:{ idevicetypeid:-1, scompanycode:companyCode }, async:false, success:function(msg){ var obj = eval("("+msg+")"); var deviceTypeNodes = []; getDevTypeObj(obj,deviceTypeNodes); $.fn.zTree.init($("#deviceTypeTree"), deviceTypeSetting, deviceTypeNodes); } });}/* * 展示设备类型SelectTree */function showDevTypeTree(){ $.ajax({ url:urlDomain+'/Dvice-queryDeviceTypeTree', type:'POST', data:{ idevicetypeid:-1, scompanycode:companyCode }, async:false, success:function(msg){ var obj = eval("("+msg+")"); var deviceTypeNodes = []; getDevTypeObj(obj,deviceTypeNodes); $.fn.zTree.init($("#deviceTypeTree"), deviceTypeSetting, deviceTypeNodes); var deptObj = $("#selectDevType"); var deptOffset = $("#selectDevType").offset(); $("#devTreeContent").css({left:deptOffset.left + "px", top:deptOffset.top + deptObj.outerHeight() + "px"}).slideDown("fast"); $('#deviceTypeTree').css({width:deptObj.outerWidth() - 12 + "px"}); var zTree = $.fn.zTree.getZTreeObj("deviceTypeTree"); var node = zTree.getNodeByParam("id", $('.selectDevTypeid').val(), null) zTree.selectNode(node); $("body").bind("mousedown", onBodyDownByDevType); } });}/** * 设备类型 * * @param {} dataObj * @param {} treeNodes */function getDevTypeObj(dataObj,treeNodes){ for (var i = 0; i < dataObj.length; i++) { treeNodes.push({id:dataObj[i].index,pId:dataObj[i].parentId,name:dataObj[i].text}); loadChildDevTypeObj(dataObj[i],treeNodes); }}/** * 查找子节点 * * @param {} dataObj * @param {} treeNodes */function loadChildDevTypeObj(dataObj,treeNodes){ var childObj = dataObj.children; for(var j = 0; j < childObj.length; j++){ treeNodes.push({id:childObj[j].index,pId:childObj[j].parentId,name:childObj[j].text}); loadChildDevTypeObj(childObj[j],treeNodes); }}/* * Body鼠标按下事件回调函数 */function onBodyDownByDevType(event) { if(event.target.id.indexOf('switch') == -1){ hideDeviceTypeMenu(); }}/* * 隐藏设备类型Tree */function hideDeviceTypeMenu() { $("#devTreeContent").fadeOut("fast"); $("body").unbind("mousedown", onBodyDownByDevType);}
经本人测试,兼容性好,IE6+、firefox和Google等主流浏览器兼容性测试均通过!至于jquery和zTree的下载,网上一搜就O了!
0 0
- jQuery和zTree实现的下拉树
- ztree实现下拉树展示
- easyui和zTree分别实现树型下拉框
- 我的ztree下拉树
- jquery ztree实现下拉树形框,json数据
- zTree 一个依靠 jQuery 实现的多功能 “树插件”
- 基于jQuery的zTree树插件实现筛选
- jQuery的zTree树插件
- 下拉树(ztree)的简单使用
- jquery和zTree 树结构的测试demo
- jquery和zTree 树结构的测试demo 2
- jquery ztree 在树节点后面加复选下拉框
- ztree下拉树
- zTree -- jQuery 树插件 实现权限管理
- ztree实现下拉功能 input
- Query+ztree实现下拉树复选框功能
- jquery eazyUI的下拉树异步实现
- jQuery ztree 树插件的使用
- HDU Tour
- 程序员面试宝典_第13章_数据结构基础_排序算法小结(1)
- ccd相机介绍网址
- 原子操作的实现原理
- jQuery实现遮罩弹出对话框(仿天猫的删除对话框)
- jQuery和zTree实现的下拉树
- 周鸿祎:互联网思维不是“万能药”
- hosts.equiv和.rhosts文件——远程登录rlogin网络配置解析
- stm32时钟分析
- Spring事务管理—aop:pointcut expression解析
- self.location.href的具体用法
- lapack库产生的问题error LNK2001: unresolved external symbol _dgesvd_
- :该如何正确的使用position属性 它的作用是什么?
- uva 12050 - Palindrome Numbers(数论)