前端——EasyUI基本使用

 

一、easyUI使用

1、页面布局

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/js/easyui/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/js/easyui/themes/icon.css">
    <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath }/js/easyui/jquery.easyui.min.js"></script>
</head>
<body class="easyui-layout">
    <!-- 使用div元素描述每个区域 -->
    <div title="XXX系统" style="height: 100px" data-options="region:'north'">北部区域</div>
    <div title="西部菜单" style="width: 200px" data-options="region:'west'">西部区域</div>
    <div data-options="region:'center'">中心区域</div>
    <div style="width: 100px" data-options="region:'east'">东部区域</div>
    <div style="height: 50px" data-options="region:'south'">南部区域</div>
</body>
</html>

2、折叠面板

<div title="西部菜单" style="width: 200px" data-options="region:'west'">
        <!-- 制作accordion折叠面板
			fit:true----自适应(填充父容器)
		-->
        <div class="easyui-accordion" data-options="fit:true">
            <!-- 使用子div表示每个面板,添加图标 -->
            <div data-options="iconCls:'icon-cut'" title="面板一">1111</div>
            <div title="面板二">2222</div>
            <div title="面板三">3333</div>
        </div>
</div>

3、Tabs选项面板

<div data-options="region:'center'">

    <!-- 制作一个tabs选项卡面板 -->
    <div class="easyui-tabs" data-options="fit:true">
        <!-- 使用子div表示每个面板 -->
        <div data-options="iconCls:'icon-cut'" title="面板一">1111</div>
        <!--data-options="closable:true":小XX-->
        <div data-options="closable:true" title="面板二">2222</div>
        <div title="面板三">3333</div>
    </div>
    
</div>

4、动态添加一个选项卡

<div title="西部菜单" style="width: 200px" data-options="region:'west'">
    <!-- 制作accordion折叠面板
        fit:true----自适应(填充父容器)
    -->
    <div class="easyui-accordion" data-options="fit:true">
        <!-- 使用子div表示每个面板,添加图标 -->
        <div data-options="iconCls:'icon-cut'" title="面板一">

            <a class="easyui-linkbutton" id="btn1">添加一个选项卡</a>

            <script>
                $("#btn1").click(function () {
                    // 判断当前点击的标签是否存在mytabs上
                    var e = $("#mytabs").tabs("exists","系统管理");
                    // 如果存在,选择那个标签
                    if (e){
                        $("#mytabs").tabs("select","系统管理")
                    }else {
                        // 否则,在mytabs上添加一个标签
                        $("#mytabs").tabs("add", {
                            title: "系统管理",   // 标题
                            iconCls: 'icon-edit',    // 图标
                            closable: true,  // 关闭按钮
                            content: '<iframe frameborder="0" height="100%" width="100%" src="https://www.baidu.com"></iframe>'  // 内容
                        })
                    }
                })
            </script>
        </div>
        <div title="面板二">2222</div>
        <div title="面板三">3333</div>
    </div>
</div>
<div data-options="region:'center'">

    <!-- 制作一个tabs选项卡面板 -->
    <div class="easyui-tabs" data-options="fit:true" id="mytabs">
        <!-- 使用子div表示每个面板 -->
        <div data-options="iconCls:'icon-cut'" title="面板一">1111</div>
        <!--data-options="closable:true":小XX-->
        <div data-options="closable:true" title="面板二">2222</div>
        <div title="面板三">3333</div>
    </div>

</div>

二、ztree插件的使用

<link rel="stylesheet" href="${pageContext.request.contextPath }/js/ztree/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="${pageContext.request.contextPath }/js/ztree/jquery.ztree.all-3.5.js"></script>

依赖JQuery

1、使用标准json数据构造ztree(了解)

<div title="面板二">
    <ul id="ztree1" class="ztree"></ul>

    <script>
        $(function () {
            // 配置信息
            var setting1 = {};   // 什么不写,使用默认值
            // 构造节点数据
            var zNodes1 = [
                {"name":"节点一","children":[
                                                {"name":"节点一_1"},
                                                {"name":"节点一_2"}
                                            ]},//每个json对象表示一个节点数据
                {"name":"节点二"},
                {"name":"节点三"}
            ];
            // 调用API创建ztree
            $.fn.zTree.init($("#ztree1"), setting1, zNodes1);
        })
    </script>

</div>

2、使用简单json数据构造ztree(重点)

<div title="面板三">
    <ul id="ztree2" class="ztree"></ul>

    <script>
        $(function () {
            // 配置信息
            var setting2 = {
                data: {
                    simpleData: {
                        enable: true//使用简单json数据构造ztree节点
                    }
                }
            };
            // 构造节点数据
            var zNodes2 = [
                // pid指的是,父节点的id;0为没有父节点
                {"id":"1","pId":"0","name":"节点一"},
                {"id":"2","pId":"1","name":"节点二"},
                {"id":"3","pId":"2","name":"节点三"}
            ];
            // 调用API创建ztree
            $.fn.zTree.init($("#ztree2"), setting2, zNodes2);
        })
    </script>
</div>

3、发送ajax请求获取json数据构造ztree

<div title="面板四">
    <ul id="ztree3" class="ztree"></ul>

    <script>
        $(function () {
            // 配置信息
            var setting3 = {
                data:{simpleData: {
                    enable: true    //配置使用简单json数据构造ztree节点
                }}
            };
            var url = "${pageContext.request.contextPath}/json/menu.json";
            $.post(url,{},function (dat) {
                // 调用API创建ztree
                $.fn.zTree.init($("#ztree3"), setting3, dat);
            },"json");
        })
    </script>
</div>

4、绑定动态添加选项卡

<div title="面板四">
    <ul id="ztree3" class="ztree"></ul>

    <script>
        $(function () {
            // 配置信息
            var setting3 = {
                data: {
                    simpleData: {
                        enable: true//使用简单json数据构造ztree节点
                    }
                },
                callback:{
                    onClick:function (event, treeId, treeNode) {
                        // 判断是否有Page字段
                        if (treeNode.page!=undefined){
                            // 判断是否有那个字段
                            var e = $("#mytabs").tabs("exists",treeNode.name);
                            if(e){
                                $("#mytabs").tabs("select",treeNode.name)
                            }else{
                                $("#mytabs").tabs("add", {
                                    title: treeNode.name,
                                    closable: true,
                                    content: '<iframe frameborder="0" height="100%" width="100%" src="' + treeNode.page + '"></iframe>'
                                })
                            }
                        }
                    }
                }
            };
            var url = "${pageContext.request.contextPath}/json/menu.json";
            $.post(url,{},function (dat) {
                // 调用API创建ztree
                $.fn.zTree.init($("#ztree3"), setting3, dat);
            },"json");
        })
    </script>
</div>

三、EasyUI(2)

导入汉化包
<script type="text/javascript" src="${pageContext.request.contextPath }/js/easyui/locale/easyui-lang-zh_CN.js"></script>

1、 alert

$.messager.alert("标题","内容","question"); 

2、confirm

$.messager.confirm("提示信息","你确定要删除当前记录吗?",function(r){
  alert(r);  // r为true/false
});

3、show

$.messager.show({

  title:'欢迎信息',

  msg:'欢迎【admin】登录系统!',

  timeout:5000,

  showType:'slide'

});

4、菜单

<!-- 制作菜单 -->
<a data-options="iconCls:'icon-help',menu:'#mm'" class="easyui-menubutton">控制面板</a>

<!-- 使用div元素制作下拉菜单 -->
<div id="mm">
	<div οnclick="alert(1111)" data-options="iconCls:'icon-edit'">修改密码</div>
	<div>联系管理员</div>
	<div class="menu-sep"></div>
	<div>退出系统</div>
</div>

5、表单验证

需要加上属性

<div region="center" border="false" style="padding: 10px; background: #fff; border: 1px solid #ccc;">
	<form action="" id="editPasswordForm">
		<table cellpadding=3>
			<tr>
				<td>新密码:</td>
				<td><input required="true" data-options="validType:'length[4,6]'" id="txtNewPass" type="Password" class="txt01 easyui-validatebox" /></td>
			</tr>
			<tr>
				<td>确认密码:</td>
				<td><input required="true" data-options="validType:'length[4,6]'" id="txtRePass" type="Password" class="txt01 easyui-validatebox" /></td>
			</tr>
		</table>
	</form>
</div>
<div region="south" border="false" style="text-align: right; height: 30px; line-height: 30px;">
	<a id="btnEp" class="easyui-linkbutton" icon="icon-ok" href="javascript:void(0)" >确定</a> 
	<a id="btnCancel" class="easyui-linkbutton" icon="icon-cancel" href="javascript:void(0)">取消</a>
</div>

当点击提交时,再次进行验证;验证通过后发送ajax请求

//为确定按钮绑定事件
$("#btnEp").click(function(){
	//进行表单校验
	var v = $("#editPasswordForm").form("validate");
	if(v){
		//表单校验通过,手动校验两次输入是否一致
		var v1 = $("#txtNewPass").val();
		var v2 = $("#txtRePass").val();
		if(v1 == v2){
			//两次输入一致,发送ajax请求
			$.post("userAction_editPassword.action",{"password":v1},function(data){
				alert(data)
				if(data == '1'){
					//修改成功,关闭修改密码窗口
					$("#editPwdWindow").window("close");
				}else{
					//修改密码失败,弹出提示
					$.messager.alert("提示信息","密码修改失败!","error");
				}
			});
		}else{
			//两次输入不一致,弹出错误提示
			$.messager.alert("提示信息","两次密码输入不一致!","warning");
		}
	}
});

扩展校验规则 

<script type="text/javascript">
	$(function(){
		//为保存按钮绑定事件
		$("#save").click(function(){
			//表单校验,如果通过,提交表单
			var v = $("#addStaffForm").form("validate");
			if(v){
				//$("#addStaffForm").form("submit");
				$("#addStaffForm").submit();
			}
		});
		
		var reg = /^1[3|4|5|7|8][0-9]{9}$/;
		//扩展手机号校验规则
		$.extend($.fn.validatebox.defaults.rules, { 
			telephone: { 
				validator: function(value,param){ 
				return reg.test(value);
			}, 
				message: '手机号输入有误!' 
			}
			}); 
		});
</script>

<input type="text" data-options="validType:'telephone'"  name="telephone" class="easyui-validatebox" required="true"/> 

四、datagrid使用方法

方式一:将静态HTML渲染为datagrid样式

<table class="easyui-datagrid">
    <thead>
        <tr>
            <th data-options="field:'id'">编号</th>
            <th data-options="field:'name'">姓名</th>
            <th data-options="field:'age'">年龄</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>001</td>
            <td>小明</td>
            <td>90</td>
        </tr>
        <tr>
            <td>002</td>
            <td>老王</td>
            <td>3</td>
        </tr>
    </tbody>
</table>

方式二:发送ajax请求获取json数据创建datagrid

<table data-options="url:'${pageContext.request.contextPath }/json/datagrid_data.json'"
        class="easyui-datagrid">
    <thead>
        <tr>
            <th data-options="field:'id'">编号</th>
            <th data-options="field:'name'">姓名</th>
            <th data-options="field:'age'">年龄</th>
        </tr>
    </thead>
</table>

方式三:使用easyUI提供的API创建datagrid(推荐)

<script type="text/javascript">
    $(function(){
        //页面加载完成后,创建数据表格datagrid
        $("#mytable").datagrid({
            //定义标题行所有的列
            columns:[[
                      {title:'编号',field:'id',checkbox:true},
                      {title:'姓名',field:'name'},
                      {title:'年龄',field:'age'},
                      {title:'地址',field:'address'}
                      ]],
            //指定数据表格发送ajax请求的地址
            url:'${pageContext.request.contextPath }/json/datagrid_data.json',
            rownumbers:true,
            singleSelect:true,
            //定义工具栏
            toolbar:[
                     {text:'添加',iconCls:'icon-add',
                         //为按钮绑定单击事件
                         handler:function(){
                            alert('add...');
                         }
                     },
                     {text:'删除',iconCls:'icon-remove'},
                     {text:'修改',iconCls:'icon-edit'},
                     {text:'查询',iconCls:'icon-search'}
                     ],
            //显示分页条
            pagination:true
        });
    });
</script>

如果数据表格中使用了分页条,要求服务端响应的json变为:

请求

响应

 

 

 

 

 

转载于:https://www.cnblogs.com/x54256/p/8555670.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值