EasyUI笔记总结

来源:互联网 发布:在线查询域名被墙 编辑:程序博客网 时间:2024/06/08 12:47

写在开头:本文是EasyUI的学习笔记,方便自己查阅要是恰好能帮到别人那就是小弟的荣幸了。写的不好请大家多多指教。

EasyUI的使用需要导入:

要使用easyui 首先要先引入相应的jar包,而且要注意引入的顺序,jquery的jar包要先引入,如下:
           <!-- 导入 jquery 核心类库 -->
        <script type="text/javascript" src="../js/jquery-1.8.3.js"></script>
        <!-- 导入 easyui 类库 -->
        <script type="text/javascript" src="../js/easyui/jquery.easyui.min.js"></script>
        <!-- 导入默认主题 CSS 文件-->
        <link id="easyuiTheme" rel="stylesheet" type="text/css" href="../js/easyui/themes/default/easyui.css">
        <!--导入图标 CSS 文件-->
        <link rel="stylesheet" type="text/css" href="../js/easyui/themes/icon.css">
        <!--导入国际化信息文件 -->
        <script src="../js/easyui/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
    </head>

jqueary.easyui.min.js包这个包包含了easyUI的所有的插件功能。

1.layout是一个页面布局(下面是一个小的demo)

       
    <body class="easyui-layout">
        <div data-options="region:'north',title:'North Title',split:true" style="height:100px;">北部区域</div>
        <div data-options="region:'south',title:'South Title',split:true" style="height:100px;">南部区域</div>
        <div data-options="region:'east',iconCls:'icon-reload',title:'East',split:true" style="width:100px;">东部区域</div>
        <div data-options="region:'west',title:'West',split:true" style="width:100px;">西部区域</div>
        <div data-options="region:'center',title:'center title'" style="padding:5px;background:#eee;">中部区域</div>
        </div>
    </body>


2.accordion折叠面板

    fit属性设置为true自适应父容器大小,默认是false

    <body class="easyui-layout">
        <div data-options="region:'north',title:'North Title',split:true" style="height:100px;">北部区域</div>

        <div data-options="region:'south',title:'South Title',split:true" style="height:100px;">南部区域</div>

        <div data-options="region:'east',iconCls:'icon-reload',title:'East',split:true" style="width:100px;">东部区域</div>

        <div data-options="region:'west',title:'West',split:true" style="width:180px;">
            <div id="aa" class="easyui-accordion" data-options="fit:true">
                <div data-options="title:'系统菜单'">面板一</div>
                <div data-options="title:'基础菜单'">面板二</div>
            </div>
        </div>
        <div data-options="region:'center',title:'center title'" style="padding:5px;background:#eee;">中部区域</div>

        </div>

    </body>

3.tabs中心区域选项卡

     <script type="text/javascript">
            $(function() {
                        $("#my").click(function() {
                            $('#mytabs').tabs('add', {

                                title: 'New Tab',
                                content: 'Tab Body',
                                closable:'true'

                            });
                            });
                        });
        </script>

       
    <body class="easyui-layout">
        <div data-options="region:'north',title:'North Title',split:true" style="height:100px;">北部区域</div>

        <div data-options="region:'south',title:'South Title',split:true" style="height:100px;">南部区域</div>

        <div data-options="region:'east',iconCls:'icon-reload',title:'East',split:true" style="width:100px;">东部区域</div>

        <div data-options="region:'west',title:'West',split:true" style="width:180px;">
            <div id="aa" class="easyui-accordion" data-options="fit:true ">
                <div data-options="title:'系统菜单'">
                    <a href="javascript:void(0)" id="my">我的选项卡</a>
                </div>
                <div data-options="title:'基础菜单'">面板二</div>
            </div>
        </div>
        <div data-options="region:'center',title:'center title'" style="padding:5px;background:#eee;">
            <div id="mytabs" class="easyui-tabs" data-options="fit:true">
                <div data-options="title:'选项卡面板一',closable:'true'">选项卡面板一</div>
                <div data-options="title:'选项卡面板二'">选项卡面板二</div>
            </div>
        </div>

        </div>

    </body>

4.树形菜单使用了一个ztree的插件功能非常强大(需要引入相应的js)

<!-- 引入 ztree -->
        <script src="../js/ztree/jquery.ztree.all-3.5.js" type="text/javascript" charset="utf-8"></script>
        <link rel="stylesheet" type="text/css" href="../js/ztree/zTreeStyle.css"/>

<!--通过ztree插件制作树形菜单-->
                   <ul id="basemenu" class="ztree"></ul>

<script type="text/javascript">
        $(function() {
            var setting = {
                data: {
            simpleData: {
                enable:true//支持简单的json数据格式
            }
            }
        };
        var zNodes =[
        {id:1, pId:0, name:"父节点一"},
        {id:2, pId:0, name:"父节点二"},
        {id:3, pId:1, name:"子节点1"},
        {id:4, pId:1, name:"子节点2"},
        {id:5, pId:2, name:"子节点3"},
        {id:6, pId:2, name:"子节点4"}

        ];
         $.fn.zTree.init($("#basemenu"), setting, zNodes);
         });
    </script>

5.树形菜单和选项卡的整合。

Ztree为每个树形节点添加点击事件

      ztree的setting里面又一个callback属性里面的onclick

      exists,select是easyui选项卡里面的属性

          <script type="text/javascript">
        $(function() {
            var setting = {
                data: {
            simpleData: {
                enable:true//支持简单的json数据格式
            }
            },
            callback: {
                onClick: function(event,treeId, treeNode,clickFlag){
                    var content='<div style="width:100%;height: 100%;overflow: hidden;">'
                    +'<iframe src="'+treeNode.page
                    +'"scrolling="auto" style="width:100%;height:100%;border:0;"></iframe></div>';
                    //没有page不打开选项卡
                    if(treeNode.page!=undefined&&treeNode.page!=""){
                        //如果选项卡已经打开就不打开了
                        if($("#mytabs").tabs('exists',treeNode.name)){
                            $("#mytabs").tabs('select',treeNode.name);
                        }else{
                            $('#mytabs').tabs('add', {

                                title: treeNode.name,
                                content: content,
                                closable:'true'

                            });
                        }
                        
                    }
                    
                }
                
            }
            
            
        };
        var zNodes =[
        {id:1, pId:0, name:"父节点一"},
        {id:2, pId:0, name:"父节点二"},
        {id:3, pId:1, name:"子节点1"},
        {id:4, pId:1, name:"子节点2"},
        {id:5, pId:2, name:"百度",page:"http://www.baidu.com"},
        {id:6, pId:2, name:"csdn",page:"http://www.csdn.net"}

        ];
         $.fn.zTree.init($("#basemenu"), setting, zNodes);
         });
        </script>

6.实现右键关闭全部选项卡,关闭其他,关闭当前选项卡

        <script type="text/javascript">
            $(function() {
                var setting = {
                    data: {
                        simpleData: {
                            enable: true //支持简单的json数据格式
                        }
                    },
                    callback: {
                        onClick: function(event, treeId, treeNode, clickFlag) {
                            var content = '<div style="width:100%;height: 100%;overflow: hidden;">' +
                                '<iframe src="' + treeNode.page +
                                '"scrolling="auto" style="width:100%;height:100%;border:0;"></iframe></div>';
                            //没有page不打开选项卡
                            if(treeNode.page != undefined && treeNode.page != "") {
                                //如果选项卡已经打开就不打开了
                                if($("#mytabs").tabs('exists', treeNode.name)) {
                                    $("#mytabs").tabs('select', treeNode.name);
                                } else {
                                    $('#mytabs').tabs('add', {

                                        title: treeNode.name,
                                        content: content,
                                        closable: 'true'

                                    });
                                }

                            }

                        }

                    }

                };
                var zNodes = [{
                    id: 1,
                    pId: 0,
                    name: "父节点一"
                }, {
                    id: 2,
                    pId: 0,
                    name: "父节点二"
                }, {
                    id: 3,
                    pId: 1,
                    name: "子节点1"
                }, {
                    id: 4,
                    pId: 1,
                    name: "子节点2"
                }, {
                    id: 5,
                    pId: 2,
                    name: "百度",
                    page: "http://www.baidu.com"
                }, {
                    id: 6,
                    pId: 2,
                    name: "csdn",
                    page: "http://www.csdn.net"
                }, {
                    id: 6,
                    pId: 2,
                    name: "cs",
                    page: "http://www.csdn.net"
                }];
                $.fn.zTree.init($("#basemenu"), setting, zNodes);
                //对选项卡注册右击事件
                $("#mytabs").tabs({
                    onContextMenu: function(e, title, index) {
                        //阻止默认菜单
                        e.preventDefault();
                        //显示自定义右键菜单
                        $("#mm").menu('show', {
                            left: e.pageX,
                            top: e.pageY
                        });
                    }
                });

                //关闭全部的选项卡
                $("#closeall").bind("click", function() {
                    var tablist = $('#mytabs').tabs('tabs');
                    console.log(tablist);
                    //  return;   
                    for(var i = tablist.length - 1; i >= 0; i--) {
                        $('#mytabs').tabs('close', i);
                    }
                });
                //关闭其他页面(先关闭右侧,在关闭左侧)    
                $("#closeother").bind("click", function() {
                    var tablist = $('#mytabs').tabs('tabs');
                    var tab = $('#mytabs').tabs('getSelected');
                    var index = $('#mytabs').tabs('getTabIndex', tab);
                    for(var i = tablist.length - 1; i > index; i--) {
                        $('#mytabs').tabs('close', i);
                    }
                    var num = index - 1;
                    if(num < 0) {
                        return;
                    } else {
                        for(var i = num; i >= 0; i--) {
                            $('#mytabs').tabs('close', i);
                        }
                        //$("#mytabs").tabs("select", 1);    
                    }
                });
                //关闭其他页面(先关闭右侧,在关闭左侧)    
                $("#now").bind("click", function() {
                    //var tablist = $('#mytabs').tabs('tabs');    
                    var tab = $('#mytabs').tabs('getSelected');
                    var index = $('#mytabs').tabs('getTabIndex', tab);
                    $('#mytabs').tabs('close', index);

                });
            });
        </script>

7.下拉菜单menubutton的实现

      <body>
        <a href="#" class="easyui-menubutton" data-options="iconCls:'icon-save',menu:'#mm'">
            系统菜单
        </a>
        <div id="mm" style="width:150px;">

            <div >菜单一</div>
            <div >菜单二</div>
            <div class="menu-sep"></div>
            <div>菜单三</div>
        </div>
    </body>

8.消息窗口message的使用

     8.1警告窗口

          <script type="text/javascript">
            $(function() {
                $.messager.alert("标题","内容","warning");
            })
        </script>

    8.2确认窗口

        <script type="text/javascript">
            $(function() {
                $.messager.confirm("删除提示","确认删除吗?",function(result) {
                    if(result){
                        alert("删除中...");
                    }else{
                        alert("取消删除...");
                    }
                })
            })
        </script>

    8.3输入窗口

    <script type="text/javascript">
            $(function() {
                $.messager.prompt("调查窗口","你叫什么名字",function(val) {
                    alert("你好,"+val);
                });
                
            });
        </script>

   8.4右下角窗口

     <script type="text/javascript">
            $(function() {
                $.messager.show({
                    title:"减价促销",
                    msg:"减价促销,<a href='#'>请点这里</a>",
                    timeout:3000
                });
                
            });
        </script>

    8.5进度条窗口

    <script type="text/javascript">
            $(function() {
                $.messager.progress({
                    interval:1000  //每一秒增长10%
                });
                //定时器5秒关闭进度条
                window.setTimeout("$.messager.progress('close')",5000);
            });
        </script>

9.窗口 window

    窗口是一个浮动和拖拽面板,可以用作应用程序窗口。默认情况下,窗口可以移动,调整大小和关闭。它的内容也可以被定义为静态html或要么通过ajax动态加载。

    <div id="window" class="easyui-window" data-options="title:'标题窗口',collapsible:false,modal:true,closed:true" style="width: 200px;height: 200px;">
            窗口内容
        </div>
        <input type="button" value="打开" id="mybtn"/>
        <input type="text" />

其中modal表示遮罩,collapsible表示关闭折叠按钮(窗口默认有四个按钮),closed表示窗口默认是不打开的。    

collapsibleboolean定义是否显示折叠按钮。trueminimizableboolean定义是否显示最小化按钮。truemaximizableboolean定义是否显示最大化按钮。trueclosableboolean定义是否显示关闭按钮。   <script type="text/javascript">
            $(function() {
                $("#mybtn").click(function() {
                    $("#window").window('open');
                })
            });
        </script>

 $("#window").window('open');表示打开一个窗口 $("#window").window('close');表示关闭一个窗口。

10.校验 form

校验框 validate box  class="easyui-validatebox"

需要指定require属性为true完成必须输入校验。

数字校验框   numberbox

下拉校验框   combobox

日期校验框   datebox

validate做表单校验返回true表示表示表单中所有的字段有效它的方法用的是validate box插件

$("#save").click(function(){
                    if($("#standardForm").form('validate')) {
                        $("#standardForm").submit();
                    }else{
                        $.messager.alert("警告","表单必须填写完整","warning");
                    }
                    
                });
            });   

11.数据表格 datagrid.

     datagrid显示数据表格格式,提供了丰富的支持选择、分类、组织和编辑数据。datagrid被设计来减少开发时间和要求没有专业知识开发人员。它是不重要的,功能丰富。单元合并、 表头合并、冻结一列页脚只是它的一些特性。

      1.      

       在页面显示表格的位置 提供<table>标签,指定id元素

      <table id="dg"></table>

      2.

       在 JS代码$(#grid).datagrid({...});完成对表格设置

       columns  表格列定义

       url   远程数据加载

       pagination    分页

       toolbar    顶部

<script type="text/javascript">$(function() {$('#dg').datagrid({url: 'product.json',   columns:[[  //二维数组支持多级表头,每一个数组就是表头一行   {    field:"id",//用于和服务器返回的json对应    title:"编号",//列标题显示内容    width:100       },   {    field:"name",//用于和服务器返回的json对应    title:"商品名称",//列标题显示内容    width:100       },   {    field:"price",//用于和服务器返回的json对应    title:"商品价格",//列标题显示内容    width:100       }   ]],   pagination:true,   toolbar:[   {   id:"saveBtn",   text:"保存",   iconCls:"icon-save",   handler:function() {   alert("保存");   }   }   ]});});</script>
//进行表单回显操作
           $("#standardForm").form("load",row);
12.将查询条件中的表单内容与数据表格绑定。
        $("#searchBtn").click(function() {
                    var params=$("#searchForm").serializeJson();
                    $('#grid').datagrid('load',params);
                    //关闭查询窗口
                    $('#searchWindow').window("close");
                });
            });
//将form请求转化为json

$.fn.serializeJson=function(){  
            var serializeObj={};  
            var array=this.serializeArray();  
            var str=this.serialize();  
            $(array).each(function(){  
                if(serializeObj[this.name]){  
                    if($.isArray(serializeObj[this.name])){  
                        serializeObj[this.name].push(this.value);  
                    }else{  
                        serializeObj[this.name]=[serializeObj[this.name],this.value];  
                    }  
                }else{  
                    serializeObj[this.name]=this.value;   
                }  
            });  
            return serializeObj;  
        };



















 

原创粉丝点击