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 API学Jquery之一 选择器
Apr 07 Javascript
通过action传过来的值在option获取进行验证的方法
Nov 14 Javascript
javascript实现的固定位置悬浮窗口实例
Apr 30 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
Jan 27 Javascript
学习使用AngularJS文件上传控件
Feb 16 Javascript
JQuery核心函数是什么及使用方法介绍
May 03 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
Jun 01 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
Jun 24 Javascript
vue与TypeScript集成配置最简教程(推荐)
Oct 17 Javascript
vue+express 构建后台管理系统的示例代码
Jul 19 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
Sep 10 Javascript
Vue.js自定义指令学习使用详解
Oct 19 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 日期加减的类,很不错
2009/10/10 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
深入浅出php socket编程
2015/05/13 PHP
php5.x禁用eval的操作方法
2018/10/19 PHP
JS隐藏参数post传值实例
2013/04/18 Javascript
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
2018/07/10 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
Python模拟百度登录实例详解
2016/01/20 Python
详解Python迭代和迭代器
2016/03/28 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
python如何统计序列中元素
2020/07/31 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
python写程序统计词频的方法
2019/07/29 Python
python定义类self用法实例解析
2020/01/22 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
Pytorch环境搭建与基本语法
2020/06/03 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
2021/03/03 Python
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
小学教师管理制度
2014/01/18 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
读书笔记格式
2015/07/02 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书