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图形报表插件 jqplot简介及参数详解
Oct 10 Javascript
Jquery实现图片预加载与延时加载的方法
Dec 22 Javascript
JavaScript实现动画打开半透明提示层的方法
Apr 21 Javascript
jQuery插件formValidator实现表单验证
May 23 Javascript
自动适应iframe右边的高度
Dec 22 Javascript
js实现文字列表无缝滚动效果
Jun 23 Javascript
JS实现图片手风琴效果
Apr 17 Javascript
axios向后台传递数组作为参数的方法
Aug 11 Javascript
Angular6封装http请求的步骤详解
Aug 13 Javascript
详解Bootstrap 学习(一)入门
Apr 12 Javascript
vue组件开发之tab切换组件使用详解
Aug 21 Javascript
jQuery实现查看图片功能
Dec 01 jQuery
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学习之数组值的操作
2011/04/17 PHP
php中将一个对象保存到Session中的方法
2015/03/13 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
PHP中Socket连接及读写数据超时问题分析
2016/07/19 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
JS解析XML的实现代码
2009/11/12 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
jQuery简单实现上下,左右滑动的方法
2016/06/01 Javascript
三种带箭头提示框总结实例
2016/06/14 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
js 获取站点应用名的简单实例
2016/08/18 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
vue init webpack 建vue项目报错的解决方法
2018/09/29 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
python实现下载指定网址所有图片的方法
2015/08/08 Python
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
深入理解Python中的super()方法
2017/11/20 Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
2018/01/24 Python
PyQt5每天必学之弹出消息框
2018/04/19 Python
Django中日期处理注意事项与自定义时间格式转换详解
2018/08/06 Python
简单了解python中对象的取反运算符
2019/07/01 Python
通过实例了解python__slots__使用方法
2020/09/14 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
CSS3实现淘宝留白的方法
2020/06/05 HTML / CSS
HTML5标签嵌套规则详解【必看】
2016/04/26 HTML / CSS
远程Wi-Fi宠物监控相机:Petcube
2017/04/26 全球购物
国际贸易毕业生求职信范文
2014/02/21 职场文书
小学生环保标语
2014/06/13 职场文书
电教室标语
2014/06/20 职场文书
2014老师三严三实对照检查材料思想汇报
2014/09/18 职场文书
Vue h函数的使用详解
2022/02/18 Vue.js