zTree插件之单选下拉菜单实例代码


Posted in Javascript onNovember 07, 2013
<!--ztree树结构-->
<link rel="stylesheet" type="text/css" href="assets/ztree/css/zTreeStyle.css">
<link rel="stylesheet" type="text/css" href="assets/ztree/css/zTreeIcons.css">
<script src="assets/js/jquery.js"></script>
<!--ztree树-->
<script src="assets/ztree/js/jquery.ztree-2.6.js"></script>

<div class="input-append">
                            <input class="input-medium" id="citySel" readonly type="text" value="">
                            <a id="menuBtn" class="btn" type="button"><i class="icon-search"></i></a>
                        </div>
 
<div id="DropdownMenuBackground" style="display:none; position:absolute;z-index:999;height:300px; min-width:163px; background-color:white;border:1px solid;overflow-y:auto;overflow-x:auto;">
    <ul id="dropdownMenu" class="tree"></ul>
</div>

<script type="text/javascript">
    var zTree1;
    var setting = {
        isSimpleData: true,
        treeNodeKey: "id",
        treeNodeParentKey: "pId",
        fontCss: setFont,
        callback: {
            beforeClick: zTreeOnBeforeClick,
            click: zTreeOnClick
        }            
    };
    var zNodes = [
        {id:1, pId:0, name:"北京"},
        {id:2, pId:0, name:"天津"},
        {id:3, pId:0, name:"上海"},
        {id:6, pId:0, name:"重庆"},
        {id:4, pId:0, name:"河北省", open:true},
        {id:41, pId:4, name:"石家庄"},
        {id:42, pId:4, name:"保定"},
        {id:43, pId:4, name:"邯郸"},
        {id:44, pId:4, name:"承德"},
        {id:5, pId:0, name:"广东省", open:true},
        {id:51, pId:5, name:"广州"},
        {id:52, pId:5, name:"深圳"},
        {id:53, pId:5, name:"东莞"},
        {id:54, pId:5, name:"佛山"},
        {id:6, pId:0, name:"福建省", open:true},
        {id:61, pId:6, name:"福州"},
        {id:62, pId:6, name:"厦门"},
        {id:63, pId:6, name:"泉州"},
        {id:64, pId:6, name:"三明"}
    ];
    
    function setFont(treeId, treeNode) {
        if (treeNode && treeNode.isParent) {
            return {color: "blue"};
        } else {
            return null;
        }
    }
    function showMenu(){
        var cityObj = $("#citySel");
        var cityOffset = $("#citySel").offset();
        $("#DropdownMenuBackground").css({left:cityOffset.left+"px",top:cityOffset.top+cityObj.outerHeight()+"px"}).slideDown("fast");    
    }    
    function reloadTree(){
        hideMenu();
        zTree1 = $("#dropdownMenu").zTree(setting, zNodes);
    }
    function hideMenu() {
        $("#DropdownMenuBackground").fadeOut("fast");
    }
    function zTreeOnBeforeClick(treeId, treeNode) {
        var check = (treeNode && !treeNode.isParent);
        if (!check) alert("只能选择城市...");
        return check;
    }
    function zTreeOnClick(event, treeId, treeNode) {
        if (treeNode) {
            var cityObj = $("#citySel");
            cityObj.attr("value", treeNode.name);
            hideMenu();
        }
    }
    $(document).ready(function(e) {
        reloadTree();
        $("#menuBtn").bind("click",
            function(){
                if($("#DropdownMenuBackground").css("display") == "none"){
                    showMenu();
                }
                else{
                    hideMenu();
                }
            }
        );
        $("body").bind("mousedown", 
            function(event){
                if (!(event.target.id == "DropdownMenuBackground" || $(event.target).parents("#DropdownMenuBackground").length>0)) {
                    hideMenu();
                }
            });    
    });
</script>
Javascript 相关文章推荐
JQuery插件Style定制化方法的分析与比较
May 03 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
Nov 13 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
Feb 21 Javascript
分析了一下JQuery中的extend方法实现原理
Feb 27 Javascript
jquery实现图片随机排列的方法
May 04 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
Nov 07 Javascript
jQuery实现的分页功能示例
Jan 22 Javascript
认识less和webstrom的less配置方法
Aug 02 Javascript
React Native预设占位placeholder的使用
Sep 28 Javascript
教你如何编写Vue.js的单元测试的方法
Oct 17 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
Jul 20 Javascript
vue基本使用--refs获取组件或元素的实例
Nov 07 Javascript
jQuery把表单元素变为json对象
Nov 06 #Javascript
JQuery插件开发示例代码
Nov 06 #Javascript
javascript实现yield的方法
Nov 06 #Javascript
Javascript事件实例详解
Nov 06 #Javascript
zTree插件之多选下拉菜单实例代码
Nov 06 #Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
Nov 06 #Javascript
Js参数值中含有单引号或双引号问题的解决方法
Nov 06 #Javascript
You might like
php读取目录所有文件信息dir示例
2014/03/18 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
PHP CURL post数据报错 failed creating formpost data
2016/10/16 PHP
javascript操作html控件实例(javascript添加html)
2013/12/02 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
js用typeof方法判断undefined类型
2014/07/15 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
2016/01/04 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
Angular将填入表单的数据渲染到表格的方法
2017/09/22 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
在ironpython中利用装饰器执行SQL操作的例子
2015/05/02 Python
python3音乐播放器简单实现代码
2020/04/20 Python
python逆向入门教程
2018/01/15 Python
用python与文件进行交互的方法
2018/03/01 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
Python一句代码实现找出所有水仙花数的方法
2018/11/13 Python
selenium跳过webdriver检测并模拟登录淘宝
2019/06/12 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
Python编写单元测试代码实例
2020/09/10 Python
红色康乃馨酒店:Red Carnation Hotels
2017/06/22 全球购物
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
态度决定一切演讲稿
2014/05/20 职场文书
经济国贸专业求职信
2014/06/18 职场文书
物业消防安全责任书
2014/07/23 职场文书
2015年信访工作总结
2015/04/07 职场文书
2015年推普周活动方案
2015/05/06 职场文书
Pytorch 如何加速Dataloader提升数据读取速度
2021/05/28 Python
SQL Server使用PIVOT与unPIVOT实现行列转换
2022/05/25 SQL Server