`
gegewu0825
  • 浏览: 47418 次
社区版块
存档分类
最新评论

同一页面加载多个ztree

 
阅读更多

 

最近项目要在同一个页面加载 多个ztree做不同分类的选择  看了看官方文档,决定从select_checkbox_menu入手

触发 跟值返回

 

ztree初始化成功后的treeID 是容纳数据的容器的id 比如下面的edu_type

 

<a href="javascript:;"  id="input_format_list_a" onclick="showMenu('format_list');" >资源格式</a>&nbsp;<input id="input_format_list" type="hidden" name="category['format_list']" readonly value="" style="width:120px;"  />

 

 

ztree 初始化的id

 

<div id="menuContent" style="display:none; position: absolute;">

	<ul id="edu_type" class="ztree" style="margin-top:0; width:280px; height: 300px;"></ul>
	<ul id="learner_list" class="ztree" style="margin-top:0; width:280px; height: 300px;"></ul>
	<ul id="grade_list" class="ztree" style="margin-top:0; width:280px; height: 300px;"></ul>
	<ul id="curriculum_list" class="ztree" style="margin-top:0; width:280px; height: 300px;"></ul>
	<ul id="subject_list" class="ztree" style="margin-top:0; width:280px; height: 300px;"></ul>
	<ul id="textbook_list" class="ztree" style="margin-top:0; width:280px; height: 300px;"></ul>
	<ul id="topic_list" class="ztree" style="margin-top:0; width:280px; height: 300px;"></ul>
	<ul id="type_list" class="ztree" style="margin-top:0; width:280px; height: 300px;"></ul>
	<ul id="format_list" class="ztree" style="margin-top:0; width:280px; height: 300px;"></ul>
</div>

 

js代码:

 

 

var setting = {
		check: {
			enable: true,
			chkboxType: {"Y":"ps", "N":"ps"}
		},
		view: {
			dblClickExpand: false
		},
		data: {
			simpleData: {
				enable: true
			}
		},
		callback: {
			beforeClick: beforeClick,
			onCheck: onCheck
		}
	};
	//json数据
	var edu_type_list=<?php echo $edu_type_list?>;
	var learner_list=<?php echo $learner_list?>;
	var grade_list=<?php echo $grade_list?>;
	var curriculum_list=<?php echo $curriculum_list?>;
	var subject_list=<?php echo $subject_list?>;
	var textbook_list=<?php echo $textbook_list?>;
	var topic_list=<?php echo $topic_list?>;
	var type_list=<?php echo $type_list?>;
	var format_list=<?php echo $format_list?>;
	
	function beforeClick(treeId, treeNode) {
		var zTree = $.fn.zTree.getZTreeObj(treeId);
		zTree.checkNode(treeNode, !treeNode.checked, null, true);
		return false;
	}
	
	function onCheck(e, treeId, treeNode) {
		var zTree = $.fn.zTree.getZTreeObj(treeId),
		nodes = zTree.getCheckedNodes(true),
		v = "";
		//返回checkbox值
		for (var i=0, l=nodes.length; i<l; i++) {
			if(!nodes[i].isParent){
				v += nodes[i].name + ",";//多值用,隔开
			}
		}
		if (v.length > 0 ) v = v.substring(0, v.length-1);
		var cityObj = $("#input_"+treeId);
		cityObj.attr("value", v);
	}
	function showMenu(v) {
		var cityObj = $("#input_"+v+"_a");
		var cityOffset = $("#input_"+v+"_a").offset();
		$("#menuContent ul" ).hide();
		$("#"+v).show();
		$("#menuContent").css({left:cityOffset.left + "px", top:cityOffset.top + cityObj.outerHeight() + "px"}).slideDown("fast");

		$("body").bind("mousedown", onBodyDown);
	}
	function hideMenu() {
		$("#menuContent").fadeOut("fast");
		$("body").unbind("mousedown", onBodyDown);
	}
	function onBodyDown(event) {
		if (!(event.target.id == "menuBtn" || event.target.id == "citySel" || event.target.id == "menuContent" || $(event.target).parents("#menuContent").length>0)) {
			hideMenu();
		}
	}
	
	$(document).ready(function(){
		//初始化ztree
		$.fn.zTree.init($("#edu_type"), setting, edu_type_list);
		$.fn.zTree.init($("#learner_list"), setting, learner_list);
		$.fn.zTree.init($("#grade_list"), setting, grade_list);
		$.fn.zTree.init($("#curriculum_list"), setting, curriculum_list);
		$.fn.zTree.init($("#subject_list"), setting, subject_list);
		$.fn.zTree.init($("#textbook_list"), setting, textbook_list);
		$.fn.zTree.init($("#topic_list"), setting, topic_list);
		$.fn.zTree.init($("#type_list"), setting, type_list);
		$.fn.zTree.init($("#format_list"), setting, format_list);
	});
 

 


分享到:
评论

相关推荐

    在一个页面实现两个zTree联动的方法

    zTree基于jQuery,能够兼容多种浏览器,并且允许在同一页面上创建多个独立的树实例。它支持JSON数据格式,既可以静态加载数据,也能通过Ajax异步加载。此外,zTree还提供了丰富的事件处理,包括节点的移动、编辑和...

    ztree框架详解

    - **多实例支持**:在同一页面中可以同时生成多个 Tree 实例。 ##### 1.2 zTree 文件组成 zTree 包含多个组件,以满足不同的功能需求: - **metroStyle 文件夹**:包含 zTree 的 Metro 风格样式相关文件,如图片...

    ztree连接数据库的一些增删该查

    9. **多实例支持**:在同一页面内可生成多个独立的Tree实例。 10. **简单配置**:通过简单的参数设定,实现复杂功能。 **zTree的优势:** zTree的作者积极维护,及时回应用户问题,使得学习和使用过程更为顺畅。...

    ztree的相关文件

    2. **多面板操作**:用户可以在同一窗口内开启多个面板,方便进行文件的比较、复制、移动等操作。 3. **命令行支持**:ZTree内置了丰富的命令行操作,允许用户通过快捷键或菜单执行各种文件操作,提高操作效率。 4. ...

    jQuery树形控件zTree使用小结

    10. **多实例支持**:在同一页面内可以创建多个独立的树形控件实例。 11. **简单配置,复杂功能**:通过简单的参数配置,实现多样化的功能需求。 **zTree文件介绍:** zTree的核心文件包括了不同功能的JS库和样式...

    JqueryzTree实例

    - **多实例**: 可在同一页面中生成多个 Tree 实例。 - **数据支持**: 支持 JSON 数据格式。 - **生成方式**: 支持静态生成和 AJAX 异步加载。 - **事件响应**: 提供多种事件监听机制。 - **节点操作**: 支持节点的...

    z-tree API文档网页版

    - **树(Tree)**: 由多个节点组成的层级结构,可以通过API进行操作和管理。 2. **API详解** - **初始化**: 使用`zTree`方法创建树形结构,需要提供配置项,如节点数据、样式、事件监听等。 - **节点操作** - `...

    zTree从数据库中动态加载树形菜单

    为了解决这个问题,要确保数据格式正确,并理解zTree如何递归地展示树结构。 zTree中的`isParent`属性至关重要,它决定了节点的行为。当`isParent`为`true`时,节点被视为父节点,表现为可点击并带有展开/折叠图标...

    文件上传及数据同步工具demo

    总之,"文件上传及数据同步工具demo"是实现从本地到云端的数据交换的核心组件,它结合了前端的文件操作、网络通信和后端的数据管理等多个技术领域,为用户提供了一种高效、可靠的文件管理和数据一致性保证。

    DocSys文件管理系统设计1

    DocSys文件管理系统设计1 DocSys是一个基于Web的文件管理系统,旨在提供类似本地目录操作的用户体验,如拖放、新建、...其设计考虑了多用户协作、版本控制、文件权限管理等多个重要方面,确保了系统的稳定性和灵活性。

Global site tag (gtag.js) - Google Analytics