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插件之easing 动态菜单
Aug 21 Javascript
Jvascript学习实践案例(开发常用)
Jun 25 Javascript
jQuery自动完成插件completer附源码下载
Jan 04 Javascript
第七章之菜单按钮图标组件
Apr 25 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
Sep 19 Javascript
js滚轮事件兼容性问题需要注意哪些
Nov 15 Javascript
js实现小窗口拖拽效果
Dec 03 Javascript
jQuery插件ContextMenu自定义图标
Mar 15 Javascript
node中使用log4js4.x版本记录日志的方法
Aug 20 Javascript
使用layui 的layedit定义自己的toolbar方法
Sep 18 Javascript
Vue 禁用浏览器的前进后退操作
Sep 04 Javascript
vue中div禁止点击事件的实现
Apr 02 Vue.js
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中使用Oracle数据库(4)
2006/10/09 PHP
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
php缓冲输出实例分析
2015/01/05 PHP
php使用COPY函数更新配置文件的方法
2015/06/18 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
javascript 定义初始化数组函数
2009/09/07 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
JavaScript学习笔记之Cookie对象
2015/01/22 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
Vue+Vant 图片上传加显示的案例
2020/11/03 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
2020/12/15 Vue.js
Python中super函数的用法
2017/11/17 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
33个Python爬虫项目实战(推荐)
2019/07/08 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
编程实现去掉XML的重复结点
2014/05/28 面试题
财务会计自荐信范文
2014/02/21 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
投标承诺书范本
2014/03/27 职场文书
高中生家长寄语大全
2014/04/03 职场文书
师德师风建设方案
2014/05/08 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书