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 Tips(4) 一些关于提高JQuery性能的Tips
Dec 19 Javascript
非阻塞动态加载javascript广告实现代码
Nov 17 Javascript
Jquery知识点三 jquery表单对象操作
Jan 17 Javascript
jquery插件开发方法(初学者)
Feb 03 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
Feb 27 Javascript
javascript实现列表切换效果
May 02 Javascript
在Node.js中使用Javascript Generators详解
May 05 Javascript
jQuery实现的简单图片轮播效果完整示例
Feb 08 jQuery
学习RxJS之JavaScript框架Cycle.js
Jun 17 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
Mar 03 Javascript
JS实现网页端猜数字小游戏
Mar 06 Javascript
vue npm install 安装某个指定的版本操作
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学习笔记 类的声明与对象实例化
2011/06/13 PHP
Yii不依赖Model的表单生成器用法实例
2014/12/04 PHP
php基本函数汇总
2015/07/09 PHP
php微信支付之公众号支付功能
2018/05/30 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
JavaScript实现控制打开文件另存为对话框的方法
2015/04/17 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
jQuery平滑旋转幻灯片特效代码分享
2015/09/07 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
js时间控件只显示年月
2017/01/08 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
js 监控iframe URL的变化实例代码
2017/07/12 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
python监控网卡流量并使用graphite绘图的示例
2014/04/27 Python
python列表操作实例
2015/01/14 Python
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
QML使用Python的函数过程解析
2019/09/26 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
HTML5 Canvas 旋转风车绘制
2017/08/18 HTML / CSS
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
比利时家具购买网站:Home24
2019/01/03 全球购物
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
关于青春的演讲稿三分钟
2014/08/22 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
redis数据一致性的实现示例
2022/03/18 Redis