JQuery ztree带筛选、异步加载实例讲解
更新时间:2016年02月25日 10:22:22 投稿:lijiao
这篇文章主要为大家详细介绍了JQuery ztree带筛选、异步加载实例,zTree支持静态 和 Ajax 异步加载节点数据,并支持极其灵活的checkbox或radio选择功能,本文为大家进行具体介绍
本文实例分享了JQuery ztree带筛选、异步加载实例,供大家参考,具体内容如下
<html> < head> < base href="<%=basePath%>"> <title>My JSP 'ztree.jsp' starting page</title> <link rel="stylesheet" href="zTrees/css/zTreeStyle/zTreeStyle.css" type="text/css"> < script type="text/javascript" src="zTrees/js/jquery-1.4.4.min.js"></script> < script type="text/javascript" src="zTrees/js/jquery.ztree.core-3.5.js"></script> < script type="text/javascript" src="zTrees/js/jquery.ztree.excheck-3.5.js"></script> < script type="text/javascript" src="zTrees/js/jquery.ztree.exedit-3.5.js"></script> < script type="text/javascript" src="zTrees/js/jquery.ztree.exhide-3.5.js"></script> < SCRIPT type="text/javascript"> $(function() { var setting = { async : { //异步加载 type : "post", enable : true, url : getUrl }, check : { enable : true }, data : { simpleData : { enable : true } }, callback : { onClick : nodeClick, onCheck : nodeCheck } }; $.fn.zTree.init($("#treeDemo"), setting); }); //返回地址 function getUrl(treeId, treeNode) { return "***.do?method=listXMLTree&****Sid=100"; } //单击节点 function nodeClick(event, treeId, treeNode) { //alert(treeId+treeNode.id+treeNode.mobileNO); var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); var sNodes = treeObj.getSelectedNodes(); if (sNodes.length> 0) { if (!treeNode.isParent) { $.ajax({ type : 'POST', url : '***.do?method=listXMLChildren', data : {'****Sid' : treeNode.id}, dataType : 'text', async : false, success : function(dat) { var dats = eval(dat); if (dats.length != 0) { //var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); //treeObj.addNodes(treeNode, dats); treeObj.addNodes(treeNode, dats); } } }); } else { treeObj.expandNode(treeNode); } } } //选中节点 function nodeCheck(event, treeId, treeNode) { var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); nodes = treeObj.getCheckedNodes(true); var str = ""; for ( var i = 0, l = nodes.length; i < l; i++) { //alert(nodes[i].id + nodes[i].mobileNO); if (nodes[i].mobileNO != null) { str += nodes[i].name + ":" + nodes[i].mobileNO + ";"; } } $('#mtDstName').val(str); } //监听搜索框 $(function() { $('#sch').bind('input propertychange', function() { var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); var value = $('#sch').val(); nodeList = treeObj.getNodesByParamFuzzy('name', value); nodes = treeObj.getNodes(); treeObj.hideNodes(nodes[0].children); treeObj.showNodes(nodeList); }); }); < /SCRIPT> < /head> < body> 搜索:<input type="text" id="sch"> <!-- < input type="button" id="btnSch" value="搜索">--> <br> 树状: <div style="height:300px;width:200px;"> <ul id="treeDemo" class="ztree"></ul> </div> <div align="center"> 名单: <textarea id="mtDstName" name="mtDstName" readonly></textarea> </div> < /body> < /html>
具体功能操作:
搜索市委:
更多关于ztree控件的内容,请参考专题《jQuery插件ztree使用汇总》 。
以上就是带筛选、异步加载功能的ztree,希望大家通过最近几篇文章,对ztree有了深入的了解。
相关文章
jQuery UI Dialog控件中的表单无法正常提交的解决方法
研究了页面源码后发现,jQuery UI Dialog控件初始化时动态生成的HTML元素被添加到页面的尾部、form元素的后面,而原始的Dialog模板部分(其内包含表单元素)也被移到了 动态生成的HTML元素内。2010-12-12jQuery 追加元素的方法如append、prepend、before
jQuery - 追加元素的方法有很多如append、prepend、before等等,下面为大家详细介绍下2014-01-01jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
这篇文章主要介绍了jQuery悬停文字提示框插件jquery.tooltipster.js用法,涉及jQuery文字提示框插件的引入与调用实现技巧,非常简单实用,需要的朋友可以参考下2016-07-07
最新评论