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 相关文章推荐
javascript 带有滚动条的表格,标题固定,带排序功能.
Nov 13 Javascript
jQuery ajax cache缓存问题
Jul 01 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
Dec 02 Javascript
jquery实现的树形目录实例
Jun 26 Javascript
node.js回调函数之阻塞调用与非阻塞调用
Nov 13 Javascript
jQuery实现标题有打字效果的焦点图代码
Nov 16 Javascript
对js eval()函数的一些见解
Aug 15 Javascript
AngularJS中isolate scope的用法分析
Nov 22 Javascript
React中如何引入Angular组件详解
Aug 09 Javascript
详解几十行代码实现一个vue的状态管理
Jan 28 Javascript
在Vuex中Mutations修改状态操作
Jul 24 Javascript
js在HTML的三种引用方式详解
Aug 29 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的FTP学习(三)
2006/10/09 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
PHP多态代码实例
2015/06/26 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
javascript实现的固定位置悬浮窗口实例
2015/04/30 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
javascript实现简单的进度条
2015/07/02 Javascript
微信小程序实战之自定义toast(6)
2017/04/18 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
原生JS使用Canvas实现拖拽式绘图功能
2019/06/05 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
2019/10/10 Javascript
js通过循环多张图片实现动画效果
2019/12/19 Javascript
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
Python实现图片批量加入水印代码实例
2019/11/30 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
CSS伪类与CSS伪元素的区别及由来具体说明
2012/12/07 HTML / CSS
css3实现圆锥渐变conic-gradient效果
2020/02/12 HTML / CSS
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
台湾专柜女包:KINAZ
2019/12/26 全球购物
保密协议书范本
2014/04/22 职场文书
先进典型发言材料
2014/12/30 职场文书
求职自我评价怎么写
2015/03/09 职场文书
超市督导岗位职责
2015/04/10 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书