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实现划词标记+划词搜索功能
Mar 06 Javascript
让iframe自适应高度(支持XHTML,支持FF)
Jul 24 Javascript
js通过location.search来获取页面传来的参数
Sep 11 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
Oct 16 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
Oct 14 Javascript
AngularJS入门示例之Hello World详解
Jan 04 Javascript
Angularjs中ng-repeat的简单实例
Aug 25 Javascript
浅谈es6中export和export default的作用及区别
Feb 07 Javascript
利用vue和element-ui设置表格内容分页的实例
Mar 02 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
Oct 20 Javascript
Vue extend的基本用法(实例详解)
Dec 09 Javascript
微信小程序实现翻牌抽奖动画
Sep 21 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中使用模板的方法
2008/05/24 PHP
PHP Document 代码注释规范
2009/04/13 PHP
PHP学习之数组的定义和填充
2011/04/17 PHP
PHP中echo,print_r与var_dump区别分析
2014/09/29 PHP
开启PHP Static 关键字之旅模式
2015/11/13 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
最常用的12种设计模式小结
2011/08/09 Javascript
Jquery读取URL参数小例子
2013/08/30 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
JavaScript实现修改伪类样式
2017/11/27 Javascript
vue弹窗消息组件的使用方法
2020/09/24 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
使用vue2.0创建的项目的步骤方法
2018/09/25 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
vue+iview实现分页及查询功能
2020/11/17 Vue.js
[01:19:34]2014 DOTA2国际邀请赛中国区预选赛 New Element VS Dream time
2014/05/22 DOTA
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
python 绘制国旗的示例
2020/09/27 Python
利用Opencv实现图片的油画特效实例
2021/02/28 Python
工厂厂长的职责
2013/12/12 职场文书
文科生自我鉴定
2014/02/15 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
《倍数和因数》教学反思
2016/02/23 职场文书
经典《舰娘》游改全新动画预告 预定11月开播
2022/04/01 日漫
vue修饰符.capture和.self的区别
2022/04/22 Vue.js