ZTree的使用

ztree和input整合

需要导入相应的包:

<script src="../../../js/ztree/jquery.ztree.min.js" type="text/javascript"></script>    //主要控制ztree的点击事件等
<link href="../../../js/ztree/zTreeStyle.css" rel="stylesheet" type="text/css" />       //主要控制ztree的样式显示

html标签写好

<input type="text" class="form-control" id="reportOrganname" onchange="clearOrgan()" placeholder name="reportOrganname">
	<input type="hidden" name="reportOrganId" id="reportOrganId"  />          //在这是为了存储其他的信息,类似名字对应的id等等
		<div class="menuContent">
				<ul id="tree" class="ztree form-control">
				</ul>
		</div>		

javascript的控制内容

 initZTree:function(){
	        		var data;
	        		//在这是为了让他隐藏不占用位置
					 $("#tree").attr("style", "width:95%;min-height:200px;display:none;overflow-y:auto;overflow-x:auto;position:absolute;z-index:1000");
                <!--这里使用的是自己封装的ajax-->
				$.myAjax({
					url: "http://192.168.12.127:8088//unit/findUnitsTreeBySystemId.action",    //拿取需要的数据
					type: "post",
					data:{'unitId':JSON.parse(sessionStorage.getItem("systemAccount")).unitId,'typeId':0,'systemId':1},   
					dataType: "json",
					async: false,
					success: function(res) {
						if(res.resultCode=200){
							var treeArr = [];
							var tempArr = {};
							for(var i = 0;i<res.resultData.length;i++){     这里就是加入对应的判断
								tempArr = res.resultData[i];
								tempArr['pId']=res.resultData[i].pid;    //设置树节点的pid
								if(res.resultData[i].count==0){ 
									tempArr['icon']='../../../image/addressbook/root.png';       //设置图标
								}else if(res.resultData[i].count==1){
									tempArr['icon']='../../../image/addressbook/type.png';
								}else if(res.resultData[i].count==2){
									tempArr['icon']='../../../image/addressbook/unit.png';
								}else if(res.resultData[i].count==3){
									tempArr['icon']='../../../image/addressbook/department.png';
								}else{
									tempArr['icon']='../../../image/addressbook/department.png';
								}
								treeArr.push(tempArr);
							}
							data = treeArr;
						}
					},
				});
				$.fn.zTree.init($("#tree"), this.zTreeSetting, data);    //开始渲染ztree并将数据传递过去
				var zTreeSelect = $.fn.zTree.getZTreeObj("tree");    //根据html的id获取ztee对象
				zTreeSelect.expandAll(true);        //表示展开全部节点
				// $("#tree").attr("style", "min-height:500px;");
				
				/*$(".search-name").attr("style", "padding:5px;border:1px solid #e5e5e5;background-color:#fff;");*/
			},
			//渲染等设置一些参数
				zTreeSetting: {
				/*check: {
					enable: true
				},*/ // 复选框
				view : {
					selectedMulti : false
				},
				edit : {
					enable : false,
					showRemoveBtn : true,
					showRenameBtn : true
				},
				data : {
					simpleData : {
						enable : true
					}
				},
				callback : {
					beforeDrag : function() {return false;}, // 取消拖拽
					onClick : zTreeOnClick     //这里是点击的方法
				}
			},
			
			
			
			
			

点击事件

function zTreeOnClick (event, treeId, treeNode) {// 点击 树的事件  这里写入自己要写的操作
    if(treeNode.level == 2 || treeNode.level == 1 || treeNode.level == 3 || treeNode.level ==4 || treeNode.level == 0){
        //alert("点击");
        $('#reportOrganname').val(treeNode.name);
        $('#reportOrganId').val(treeNode.id);
        $("#tree").toggle();
    }

    /*  if(treeId == 'add-modal-select-tree') {
     _iframe.$("#add-modal-department").val(treeNode.name);
     _iframe.$("#sourceOrganId").val(treeNode.id);
     _iframe.$("#add-modal-select-tree").toggle()
     }*/
}

这是设置ztree的隐藏和显示的方法 我们把他设置为reportOrganname框的触发事件

$('#reportOrganname').focus(function(){
    $("#tree").toggle();return false;
})

这里为了判断当选中的是空的时候我们也将隐藏的input内容清空以免影响数据

function clearOrgan(){
	if($("#reportOrganname").val()==''||$("#reportOrganname").val()==undefined){
		$("#reportOrganId").val('');
	}
}

看一下最后结果:
在这里插入图片描述
点击之后
在这里插入图片描述

数据回显且展示对应设置项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值