1、EasyUI 是前端框架,封装大量 css和封装大量 JS
2、使用前端框架时,给标签定义class 属性,就会有样式和脚本功能了
3、data-options 属性是定义 easyui 属性的,如果 easyui 提供的属性和 html 标签属性相同,这个属性可以不写在 data-options 中
4、如果效果是静态的建议使用纯 html 标签方式,如果效果是动态建议使用 html 结合 js 方式
5、easyui 中所有脚本功能语法:
如果该效果(组件)是 abc,控制 abc 的语法
$(“jquery 选择器获取到 abc”).abc({ 属性名:值, 事件:function([参数]){} })
6、如果该效果(组件)是 abc,控制 abc 方法的语法
$(“jquery 选择器获取到 abc”).abc(“方法名”);//调用方法 $(“jquery 选择器获取到 abc”).abc(“方法名”,”参数”);//调用方法
7、EasyUI 适用于后台管理界面,不适用于前台项目页面
8、优点:处理服务器传递过来的 json数据能力比较强,只要服务器传回固定格式的json数据,几乎不用写代码,效果就会呈现出来
注:能复制绝对不手写,html为弱规范,就算写错一个字母也不会报错
easyUI项目案例详解
一、登陆界面(login.jsp)
1、Panel(面板) 通过纯 html 标签方式创建面板
<div id="p" class="easyui-panel" title="登录" style="width:400px;height:200px;padding:10px;background:#fafafa;" data-options="iconCls:\'myicon-login\'"> <form action="login" method="post" id="login_form"> <table width="225" align="center"> <tr> <td colspan="2" style="text-align:center;font-size:20px; font-weight:bold">用户管理系统</td> </tr> <tr style="height:40px;"> <td>登录名</td> <td><input type="text" name="username"/> </td> </tr> <tr style="height:40px;"> <td> 密码 </td> <td><input type="password" name="password"/> </td> </tr> <tr> <td colspan="2" align="right"> <a id="login_submit" href="#" class="easyui-linkbutton" data-options="iconCls:\'icon-ok\'">登录</a> </td> </tr> </table> </form> </div>
2、LinkButton(按钮)
$(function(){ $("#btn").click(function(){ alert(\'easyui\'); }); });
3、Form(表单)
$(\'#ff\').form(\'submit\', { url:..., onSubmit: function(){ }, success:function(data){ alert(data) } });
4、Messager(消息窗口)
$.messager.alert(\'警告\',\'警告消息\'); $.messager.confirm(\'确认\',\'您确认想要删除记录吗?\',function(r){ if (r){ alert(\'确认删除\'); } });
二、主界面(main.jsp)
1、Layout(布局)
<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> </body>
2、Tree(树) 通过html 结合 js 方式创建树
<ul id="tt"></ul>
$(\'#tt\').tree({ url:\'tree_data.json\' });
树控件数据格式化
每个节点都具备以下属性:
id:节点ID,对加载远程数据很重要。
text:显示节点文本。
state:节点状态,\'open\' 或 \'closed\',默认:\'open\'。如果为\'closed\'的时候,将不自动展开该节点。
checked:表示该节点是否被选中。
attributes: 被添加到节点的自定义属性。
children: 一个节点数组声明了若干节点。
点击树节点
$(\'#tt\').tree({ onClick: function(node){ alert(node.text); // 在用户点击的时候提示 } });
3、Tabs(选项卡)
<div id="tt" class="easyui-tabs" style="width:500px;height:250px;"> <div title="Tab1" style="padding:20px;display:none;"> tab1 </div> <div title="Tab2" data-options="closable:true" style="overflow:auto;padding:20px;display:none;"> tab2 </div> <div title="Tab3" data-options="iconCls:\'icon-reload\',closable:true" style="padding:20px;display:none;"> tab3 </div> </div>
//如果此标题在选项卡中不存在,则新增选项卡,否则选中此标题对应的选项卡 if($("#tt").tabs("getTab",title)==null){ $(\'#tt\').tabs(\'add\',{ title: \'新选项卡面板\', //是否选中选项卡 selected: true, //是否可以关闭 closable:true, href:…… }); }else{ $("#tt").tabs("select",title); }
三、角色页面(role.jsp)
1、DataGrid(数据表格)
<table id="dg"></table>
$(\'#dg\').datagrid({ url:\'datagrid_data.json\', columns:[[ {field:\'code\',title:\'Code\',width:100}, {field:\'name\',title:\'Name\',width:100}, {field:\'price\',title:\'Price\',width:100,align:\'right\'} ]] });
数据表格控件数据格式化,分页时需要具备以下属性:
rows:当前页显示的数据
total:表中总个数
toolbar(定义工具栏)
$(\'#dg\').datagrid({ toolbar: [{ iconCls: \'icon-edit\', handler: function(){alert(\'编辑按钮\')} },\'-\',{ iconCls: \'icon-help\', handler: function(){alert(\'帮助按钮\')} }] });
2、Dialog(对话框窗口)
<div id="dd">Dialog Content.</div>
$(\'#dd\').dialog({ title: \'My Dialog\', width: 400, height: 200, closed: false, cache: false, href: \'……\', modal: true });
四、角色编辑页面(role_edit.jsp)
1、Form(表单)
$(\'#ff\').form(\'submit\', { url:..., onSubmit: function(){ // do some check // return false to prevent submit; }, success:function(data){ alert(data) } });
2、Messager(消息窗口)
$.messager.show({ title:\'我的消息\', msg:\'消息将在5秒后关闭。\', timeout:5000, showType:\'slide\' });