最近项目要在同一个页面加载 多个ztree做不同分类的选择 看了看官方文档,决定从select_checkbox_menu入手
触发 跟值返回
ztree初始化成功后的treeID 是容纳数据的容器的id 比如下面的edu_type
<a href="javascript:;" id="input_format_list_a" onclick="showMenu('format_list');" >资源格式</a> <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);
});
![](http://dl.iteye.com/upload/attachment/0071/3008/8b9a3e99-1ad9-3205-8481-37cb282ceecd.png)
分享到:
相关推荐
ztree实现异步加载,使用java语言
最近项目中有一个比较大型的树节点加载,网上面也看过一些解决方案,感觉都不是很好,也有很多误区,比如单击节点时加载子节点,导致节点重复添加。ztree fileter方法是在每次展开时都会执行,所以根据不同的请求...
ztree异步加载demo,ztree异步加载demo.ztree异步加载demo
jquery ztree 异步加载 延迟加载效果
前端框架 zTree 从数据库中动态加载树形菜单前端框架
一个Ztree异步分批加载demo,只有前台代码,后台只需要提供分页查询,然后页码自动增长即可。
ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网...
Ztree根据json数据生成树,经过本人亲自测试过的,可以正常使用。
用springMVC和mysql,实现了一个简单的zTree异步加载例子,希望可以帮到更多的人。。。
该资源原理说明与博客《异步&同步加载树节点----zTree(一)》相一致。
jquery ztree 异步动态加载部署直接运行,大数据量,异步是很好的处理方式
在一个页面内可同时生成多个 Tree 实例 支持 JSON 数据 支持一次性静态生成 和 Ajax 异步加载 两种方式 支持多种事件响应及反馈 支持 Tree 的节点移动、编辑、删除 支持任意更换皮肤 / 个性化图标(依靠css) ...
前段时间由于项目需要,看了一下ztree,真的很好用,这个项目需要加载几万条的节点数据,如果用一次性加载的方式性能大大的降低了,借助ztree3.1插件写了个异步加载的树。感谢ztree!
ztree+dwr实现的异步加载树形菜单
ztree的异步加载实现jfinal,希望可以帮到你
本人最近在做区域切换,由于是全国地区的,数据高达60多万条,所有采用异步加载的方式。这是一个ztree异步加载全国地区的代码。controlller是后台,tree.jsp是页面。
二,异步加载使用关键,还是在setting参数上等级:访问量: 3万积分: 484排名: 10万博主最新文章ZTree学习(一):一般使用,一载数据oracle
zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。 zTree 是开源免费的... 在一个页面内可同时生成多个 Tree 实例 简单的参数配置实现 灵活多变的功能