JS插件之——ztree
很牛逼的一个树形菜单,树形下拉框插件。一年前用过,很好用。今天又有机会拿过来用,温故一下基本点,nice!!
官方文档说明的非常详细,按照API慢慢看,耐心解读,自然就可以解惑了。
核心代码展示:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>selectmenu.html</title>
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="this is my page">
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <link rel="stylesheet" href="../../frameworks/css/demo.css" type="text/css">//ztree的样式
- <link rel="stylesheet" href="../../frameworks/css/zTreeStyle.css" type="text/css">//ztree的样式
- <script type="text/javascript" src="../../frameworks/jquery-1.4.4.min.js"></script>//ztree必须的JS
- <script type="text/javascript" src="../../frameworks/jquery.ztree.core-3.5.min.js"></script>//ztree必须的JS
- <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
- <SCRIPT type="text/javascript">
- <!--
- var setting = {
- view: {
- dblClickExpand: false
- },
- data: {
- simpleData: {
- enable: true,
- idKey: "id",
- pIdKey: "pid",
- rootPId: 0
- }
- },
- callback: {
- beforeClick: beforeClick,
- onClick: onClick
- }
- };
- function beforeClick(treeId, treeNode) {
- var check = (treeNode && !treeNode.isParent);
- if (!check) alert("只能选择城市...");
- return check;
- }
- function onClick(e, treeId, treeNode) {
- var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
- nodes = zTree.getSelectedNodes(),
- v = "";
- nodes.sort(function compare(a,b){return a.id-b.id;});
- for (var i=0, l=nodes.length; i<l; i++) {
- v += nodes[i].name + ",";
- $("#mydepId").val(nodes[i].id);
- }
- if (v.length > 0 ) v = v.substring(0, v.length-1);
- var cityObj = $("#citySel");
- cityObj.attr("value", v);
- var selectValue=$("#mycompId").val();
- alert("从ztree中选择的值是:"+selectValue);
- }
- function showMenu() {
- var cityObj = $("#citySel");
- var cityOffset = $("#citySel").offset();
- console.log(cityOffset);
- $("#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 == "menuContent" || $(event.target).parents("#menuContent").length>0)) {
- hideMenu();
- }
- }
- function createTree () {
- var zNodes;
- $.ajax({
- url: '/omss/ztreeDepInfo', //url action是方法的名称
- type: 'POST',
- data:{ compId: "46" },
- dataType: "json", //可以是text,如果用text,返回的结果为字符串;如果需要json格式的,可是设置为json
- ContentType: "application/json; charset=utf-8",
- success: function(data) {
- zNodes = data;
- console.log("ztreedata="+JSON.stringify(data));
- $.fn.zTree.init($("#treeDemo"), setting, zNodes);
- },
- error: function(msg) {
- alert("失败");
- }
- });
- }
- $(document).ready(function() {
- createTree();
- });
- //-->
- </SCRIPT>
- </head>
- <body>
- <input class="input-medium " id="citySel" type="text" readonly value="" style="width:200px;"/>
- <div id="mydepId" class="hide"></div>
- <button data-toggle="dropdown" id="menuBtn" onclick="showMenu(); return false;">
- <span class="ace-icon fa fa-caret-down icon-only"></span>
- </button >
- <div id="menuContent" class="menuContent" style="display:none; position: absolute;">
- <ul id="treeDemo" class="ztree" style="margin-top:0; width:240px;"></ul>
- </div>
- </body>
- </html>
展示的效果如下:
JS插件之——ztree的更多相关文章
- js插件ztree使用
最新给公司后台写了一个配置页面,在网上搜到一个js插件ztree,记录一下使用心得. 首先说一下ztree官网,好多方法我都是从官网api上学习的,官网地址http://www.treejs.cn/v ...
- 代码规范和常用的js插件以及测试工具
1.代码规范 .model层 1.1.1database file_proerty 1.1.2java fileProperty. 1.2.字段要有空指针 1.3.不创建爱数据库外键约束 1.4.已知 ...
- js插件---Bootstrap 树控件
js插件---Bootstrap 树控件 一.总结 一句话总结:可以直接用gojs,或者搜索js,jquery的树控件,或者bootstrap树控件,一大堆 gojs 二.JS组件系列——Bootst ...
- 【jQuery小实例】js 插件 查看图片
---本系列文章所用使用js均可在本博客文件中找到. 像淘宝一样,鼠标放在某一件商品上,展示大图信息,甚至查看图片的具体部位.给人超炫的效果,这种效果实现基于js文件和js插件.大致可以分为三步,添加 ...
- 【PC端】jQuery+PHP实现浏览更多内容(jquery.more.js插件)
参数说明: 'amount' : '10', //每次显示记录数 'address' : 'comments.php', //请求后台的地址 'format' : 'json', //数据传输格式 ' ...
- chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法[bubuko.com]
chart.js插件生成折线图时数据普遍较大时Y轴数据不从0开始的解决办法,原文:http://bubuko.com/infodetail-328671.html 默认情况下如下图 Y轴并不是从0开始 ...
- jQuery.cookie.js插件了解及使用方法
jquery.cookie.js插件实现浏览器的cookie存储,该插件是基于jquery开发,方便cookie使用. jquerycookie.js的下载地址 http://plugins.jque ...
- Intense Images – 全屏浏览图像的 JS 插件
Intense Images 是一个独立的 JavaScript 库,用于查看全屏图像.使用触摸/鼠标来实现图片位置的平移.图像元素的所有样式都是可以自定义的,Intense.js 只处理图像浏览器和 ...
- 购物车增加、减少商品时动画效果:jQuery.Fly.js插件使用方法
某些电商网站加入购物车和减少购物车商品数量时,有个小动画,以抛物线形式增减,如图: 这里用到了第三方jQuery.Fly.js插件(底层依赖Jquery库,地址:https://github ...
随机推荐
- asp.net(C#)页面事件顺序
asp.net(C#)页面事件顺序 http://www.cnblogs.com/henw/archive/2012/02/09/2343994.html 1 using System.Data; ...
- 为什么要做url encode
因为 url 对字符有限制,比如把一个邮箱放入 url,就需要使用 urlencode 函数,因为 url 中不能包含 @ 字符.
- RabbitMQ service is already present - only updating service parameters
如果你安装RabbitMQ不是那么一番顺利..那么你有可能会重装多次.. So..问题来了..重装时你执行 rabbitmq-service install 的时候..有可能就会报这个错了.. ...
- MVC中 _ViewStart _Layout Index三个页面中的加载顺序
MVC学习中忽然想到一个问题.. 在访问一个Index.cshtml页面时, MVC的加载顺序是怎么样的呢? 首先说下我的结论 . _ViewStart.cshtml . Index.cshtml . ...
- [asp.net core]project.json(1)
摘要 前面介绍了使用vs2015新建asp.net core web的内容,这篇文章学习下project.json文件的内容. project.json 原文:https://docs.microso ...
- javascript DOM操作之 querySelector,querySelectorAll
javascript DOM操作之 querySelector,querySelectorAll
- Linux下用于查看系统当前登录用户信息的4种方法
1. 使用w命令查看登录用户正在使用的进程信息 w命令用于显示已经登录系统的用户的名称,以及他们正在做的事.该命令所使用的信息来源于/var/run/utmp文件.w命令输出的信息包括: 用户名称 用 ...
- 15个初学者必看的基础SQL查询语句
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...
- pip高级使用技巧以及搭建自己的pypi服务器
========================= pip 访问非官方pypi源, 以及代理的设置=========================在Windows下安装某些Python的C ext ...
- gitlab一键安装 (转)
原文地址:http://www.2cto.com/os/201411/353292.html 0 简介bitnami和gitlab bitnami BitNami是一个开源项目,该项目产生的开源软件包 ...