概述
写在开头:本文是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表示窗口默认是不打开的。
collapsible | boolean | 定义是否显示折叠按钮。 | true |
minimizable | boolean | 定义是否显示最小化按钮。 | true |
maximizable | boolean | 定义是否显示最大化按钮。 | true |
closable | boolean | 定义是否显示关闭按钮。 |
$(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 元素
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);
$("#searchBtn").click(function() {
var params=$("#searchForm").serializeJson();
$('#grid').datagrid('load',params);
//关闭查询窗口
$('#searchWindow').window("close");
});
});
$.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;
};
最后
以上就是舒适热狗为你收集整理的EasyUI笔记总结的全部内容,希望文章能够帮你解决EasyUI笔记总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复