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 相关文章推荐
JS 继承实例分析
Nov 04 Javascript
jquery实现瀑布流效果分享
Mar 26 Javascript
javascript实现详细时间提醒信息效果的方法
Mar 11 Javascript
JS实现简洁、全兼容的拖动层实例
May 13 Javascript
JavaScript函数节流概念与用法实例详解
Jun 20 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
Dec 04 Javascript
layui实现动态和静态分页
Apr 28 Javascript
vue中v-text / v-html使用实例代码详解
Apr 02 Javascript
JavaScript 处理树数据结构的方法示例
Jun 16 Javascript
react native 仿微信聊天室实例代码
Sep 17 Javascript
vue 中固定导航栏的实例代码
Nov 01 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
Apr 29 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
Home Coffee Roasting
2021/03/03 咖啡文化
一个查看session内容的函数
2006/10/09 PHP
php通用防注入程序 推荐
2011/02/26 PHP
php mssql扩展SQL查询中文字段名解决方法
2012/10/15 PHP
基于PHP array数组的教程详解
2013/06/05 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
动态样式类封装JS代码
2009/09/02 Javascript
两个select之间option的互相添加操作(jquery实现)
2009/11/12 Javascript
基于jquery的loading 加载提示效果实现代码
2011/09/01 Javascript
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
js调用css属性写法
2013/09/21 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
轻松实现javascript图片轮播特效
2016/01/13 Javascript
谈谈JavaScript的New关键字
2016/08/26 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
百度小程序之间的页面通信过程详解
2019/07/18 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
python 正则表达式 概述及常用字符
2009/05/04 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
django反向解析和正向解析的方式
2018/06/05 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
The Hut德国站点:时装、家居用品、美容等
2016/09/23 全球购物
物流管理毕业生自荐信
2013/10/24 职场文书
医学专业自荐信
2014/06/14 职场文书
校外活动方案
2014/08/28 职场文书
领导干部考核评语
2015/01/04 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL