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 表格操作(交替显示、拖动表格行、选择行等)
Jul 29 Javascript
Javascript绝句欣赏 一些经典的js代码
Feb 22 Javascript
js 限制数字 js限制输入实现代码
Dec 04 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
Jul 08 Javascript
javascript中parseInt()函数的定义和用法分析
Dec 20 Javascript
text-align:justify实现文本两端对齐 兼容IE
Aug 19 Javascript
jquery对象和DOM对象的任意相互转换
Feb 21 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
Feb 22 Javascript
使用vue中的混入mixin优化表单验证插件问题
Jul 02 Javascript
微信小程序实现下拉框功能
Jul 16 Javascript
angular8和ngrx8结合使用的步骤介绍
Dec 01 Javascript
vue实现图片按比例缩放问题操作
Aug 11 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定界符
2014/06/19 PHP
IE7提供XMLHttpRequest对象为兼容
2007/03/08 Javascript
保证JavaScript和Asp、Php等后端程序间传值编码统一
2009/04/17 Javascript
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
修改js Calendar日历控件 兼容IE9/谷歌/火狐
2013/01/04 Javascript
Jquery性能优化详解
2014/05/15 Javascript
javascript实现图像循环明暗变化的方法
2015/02/25 Javascript
js淡入淡出的图片轮播效果代码分享
2015/08/24 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
BootStrap Fileinput初始化时的一些参数
2016/12/30 Javascript
微信小程序 picker-view 组件详解及简单实例
2017/01/10 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
2018/07/31 Javascript
微信小程序实现弹框效果
2020/05/26 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
2020/07/15 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
对python Tkinter Text的用法详解
2018/10/11 Python
浅谈python的深浅拷贝以及fromkeys的用法
2019/03/08 Python
python文件选择对话框的操作方法
2019/06/27 Python
Django实现跨域请求过程详解
2019/07/25 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
2021/02/16 Python
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
北京SQL新华信咨询
2016/09/30 面试题
财务部出纳岗位职责
2013/12/22 职场文书
思想品德课教学反思
2014/02/10 职场文书
财务负责人任命书
2014/06/06 职场文书
2015年乡镇财政工作总结
2015/05/19 职场文书
少年犯观后感
2015/06/11 职场文书
基石观后感
2015/06/12 职场文书
开网店计划分析
2019/07/30 职场文书
ubuntu20.04虚拟机无法上网的问题及解决
2022/12/24 Servers