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中的end()使用方法
Jul 10 Javascript
解决jquery1.9不支持browser对象的问题
Nov 13 Javascript
JS操作iframe里的dom(实例讲解)
Jan 29 Javascript
js对文章内容进行分页示例代码
Mar 05 Javascript
JS遍历Json字符串中键值对先转成JSON对象再遍历
Aug 15 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
Jul 04 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
Feb 14 Javascript
浅谈Vue SPA 首屏加载优化实践
Dec 15 Javascript
webstorm和.vue中es6语法报错的解决方法
May 08 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
Aug 23 jQuery
深入理解JS异步编程-Promise
Jun 03 Javascript
浅谈vue中组件绑定事件时是否加.native
Nov 09 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
FleaPHP的安全设置方法
2008/09/15 PHP
PHP 采集程序 常用函数
2008/12/18 PHP
php中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
PHP 实现explort() 功能的详解
2013/06/20 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
PHP chr()函数讲解
2019/02/11 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
js跑马灯代码(自写)
2013/04/17 Javascript
JS限制Textarea文本域字符个数的具体实现
2013/08/02 Javascript
jQuery中hide()方法用法实例
2014/12/24 Javascript
javascript处理a标签超链接默认事件的方法
2015/06/29 Javascript
jQuery实现两款有动画功能的导航菜单代码
2015/09/16 Javascript
AngularJS 入门教程之事件处理器详解
2016/08/19 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
JavaScript评论点赞功能的实现方法
2017/03/13 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
js 实现watch监听数据变化的代码
2019/10/13 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
openlayers4实现点动态扩散
2020/08/17 Javascript
Python 类的继承实例详解
2017/03/25 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
Python2与Python3的区别实例分析
2019/04/11 Python
解析Python3中的Import
2019/10/13 Python
python用quad、dblquad实现一维二维积分的实例详解
2019/11/20 Python
Python异常处理机制结构实例解析
2020/07/23 Python
Python编写单元测试代码实例
2020/09/10 Python
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
拉丁舞学习者的自我评价
2013/10/27 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
领导干部群众路线个人对照检查材料思想汇报
2014/09/30 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
PL350与SW11的比较
2021/04/22 无线电
Oracle用户管理及赋权
2022/04/24 Oracle
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android