jQueryEasyUi

jQueryEasyUi

一、常用组件

(一)Tabs 选项卡

在这里插入图片描述

<script tTabsype="text/javascript">
   //添加叶签
	function addPanel(){
		$("#tt").tabs('add',{
			title:"我是一个添加的",
			content:"emmm。。。。",
			closable:true
		})
	}
   
   //删除当前选中的叶签
	function removePanel(){
	   //获取选中叶签
		var sele = $("#tt").tabs('getSelected');
	   //获取选中叶签的索引
		var index=  $("#tt").tabs('getTabIndex',sele);
	   //删除指定索引叶签
		$("#tt").tabs('close',index);
	}
</script>

<body>
    <div id="tt" class="easyui-tabs" tools="#tab-tools" 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> 

    <div id="tab-tools">
        <a href="javascript:void(0)" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-add'" onclick="addPanel()"></a>
    <a href="javascript:void(0)" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-remove'" onclick="removePanel()"></a>
    </div>
</body>

(二)Messager 消息窗口

1.在屏幕右下角显示一条消息窗口

在这里插入图片描述

$.messager.show({
	title:'我的消息',
	msg:'消息将在5秒后关闭。',
	timeout:5000,
	showType:'slide'
});

2.显示警告窗口

在这里插入图片描述

$.messager.alert('我的消息','这是一个提示信息!','info');

3.显示一个包含“确定”和“取消”按钮的确认消息窗口

在这里插入图片描述

$.messager.confirm('确认对话框', '您想要退出该系统吗?', function(r){
	if (r){
	    // 退出操作;
	}
});

4.显示一个用户可以输入文本的并且带“确定”和“取消”按钮的消息窗体

在这里插入图片描述

$.messager.prompt('提示信息', '请输入你的姓名:', function(r){
	if (r){
		alert('你的姓名是:' + r);
	}
});

5.显示一个进度消息窗体

在这里插入图片描述

//显示进度消息窗口。
$.messager.progress(); 
//关闭进度消息窗口。
$.messager.progress('close');

(三)Form 表单组件

1.加载本地数据

在这里插入图片描述

function loadLocal(){
    //调用load方法 -- 修改回显
    $('#ff').form('load',{
        name:'猪皮',
        email:'zp@qq.com',
        subject:'科目二',
        message:'倒车入库',
        language:'en'
    });
}
2.加载远程数据

在这里插入图片描述

{
	"name":"甫甫",
	"email":"ff@qq.com",
	"subject":"科目三",
	"message":"路考",
	"language":"en"
}
function loadRemote(){
    $('#ff').form('load', 'form_data1.json');
}
3.清理数据
function clearForm(){
    $('#ff').form('clear');
}

(四)Dialog 对话框

1.提交方式一
<a href="javascript:void(0)" class="easyui-linkbutton" onclick="$('#ff').submit()" >提交</a>

2.提交方式二
<a href="javascript:void(0)" class="easyui-linkbutton" id="btn2" >提交</a>

$(function(){	
    $("#btn2").click(function(){
        $('#ff').form('submit', {    
            url:'/yyy',    
            onSubmit: function(){    
                // 提交之前检查   
                // 返回false阻止提交   
            },    
            success:function(data){    
                alert(data)    
            }    
        }); 
    });

})

(五)DataGrid 面板

在这里插入图片描述

<table class="easyui-datagrid" title="Basic DataGrid" style="width:700px;height:250px"
data-options="singleSelect:true,collapsible:true,url:'datagrid_data1.json',method:'get'">
    <thead>
        <tr>
            <th data-options="field:'itemid',width:180">Item ID</th>
            <th data-options="field:'productid',width:80">Item ID</th>
            <th data-options="field:'productname',width:100">Product</th>
            <th data-options="field:'unitcost',width:80,align:'right'">List Price</th>
            <th data-options="field:'status',width:80,align:'right'">Unit Cost</th>
            <th data-options="field:'listprice',width:250">Attribute</th>
            <th data-options="field:'attr1',width:60,align:'center'">Status</th>
        </tr>
    </thead>
</table>

(六)Layout 布局组件

在这里插入图片描述

布局容器有5个区域:北、南、东、西和中间。中间区域面板是必须的,边缘的面板都是可选的

二、综合案例

(一)主页面整体布局

<body class="easyui-layout">
    <div data-options="region:'north',border:false" style="height:80px;background:#A9FACD;">
        <div><h1>AiSell智能销售系统</h1></div>
    </div>
    <div id="menuid" data-options="region:'west',split:true" style="width:150px;padding:10px;">west content</div>
    <div data-options="region:'east',split:true,collapsed:true" style="width:100px;padding:10px;">east region</div>
    <div data-options="region:'south',border:false" style="height:50px;background:#A9FACD;padding:10px;">south region</div>
    <div id="tabsId" class="easyui-tabs"  data-options="region:'center'"></div>
</body>

(二)加载左侧树型菜单和选项卡

$(function(){
    $("#menuid").tree({
        method:'get',
        url:'menuTree.json',
        //树菜单的点击事件
        onClick:function(node) {
            //节点名字
            var text = node.text;
            //选项卡不存在,添加一个页签
            if(node.url && !$("#tabsId").tabs("exists",text)){
                var url = node.url;
                $("#tabsId").tabs("add",{
                    title:text,    
                    content:'<iframe frameborder="0" style="width: 100%;height: 100%" src="'+url+'"></iframe>',    
                    closable:true 
                })
            }else{
                //选中当前存在的页签
                $('#tabsId').tabs('select',text);
            }
        }
    })
})

(三)页面展示数据表格

<!--员工管理数据列表-->
<table id="employee-grid" class="easyui-datagrid"
		data-options="fit:true,singleSelect:true,collapsible:true,fitColumns:true,
		url:'employeeData.json',method:'get',pagination:true,
		oolbar:'#tb'">
	<thead>
		<tr>
			<th data-options="field:'username',width:80">用户名</th>
			<th data-options="field:'email',width:80">邮箱</th>
			<th data-options="field:'age',width:80,align:'right'">年龄</th>
			<th data-options="field:'headImage',width:50,align:'right',formatter:imgFormat">头								像</th>
			<th data-options="field:'department',width:80,formatter:deptFormat">部门</th>
		</tr>
	</thead>
	<tbody>
	</tbody>
</table>

//头像格式化
function imgFormat(value){
    if(value){
        return "<img width='100px' src='"+value+"'/>";
    }else{
        return "<font color='red'>没有图片</font>";
    }
}
//部门格式化
function deptFormat(value){
    if(value){
        return value.name;
    }else{
        return "<font color='red'>没有所属部门</font>";
    }
}

(四)添加按钮与事件

1.按钮

<!--按钮-->
<div id="tb">
	<a class="easyui-linkbutton" data-method="add" iconCls="icon-add"  plain="true" 		href="javascript:;">添加</a>
	<a class="easyui-linkbutton" data-method="edit" iconCls="icon-edit"  plain="true" href="javascript:;">修改</a>
	<a class="easyui-linkbutton" data-method="remove" iconCls="icon-remove"  plain="true" href="javascript:;">删除</a>
</div>

2.为按钮添加事件

$(function(){
    /*为所有按钮添加点击事件*/
    $("a[data-method]").on('click',function(){
        //拿到执行的方法名
        var methodName = $(this).data("method");
        //执行方法
        carryOut[methodName]();
    });

    //添加相应事件
    var carryOut = {
        //添加
        add:function(){
        },
        //修改
        edit:function(){
        },
        //删除
        remove:function(){
        },
    }
});

(五)高级查询

1.查询条件,和添加修改删除放一起

<form id="searchForm" action="/select" method="get">
    用户名:<input name="username" class="easyui-textbox" style="width:80px">
    邮件:<input name="email" class="easyui-textbox" style="width:80px">
    部门:<input class="easyui-combobox" style="width:100px"
			name="departmentId"
			data-options="
			url:'department.json',
    		method:'get',
        	valueField:'id',
            textField:'name',
            panelHeight:'auto'
	">
    <a href="javascript:;" data-method="search" class="easyui-linkbutton" iconCls="icon-search">查询</a>
</form>

2.完成查询功能

search:function(){
    //拿到所有查询条件,需要先引入 jquery.jdirk.js
    var param = $("#searchForm").serializeObject();
    //发生请求
    $("#employee-grid").datagrid("load",param);
},

(六)删除

(1)判断表格里面是否选中的数据,

​ 如果没有选中 --提示选中数据

​ 如果选中数据 —提示是否要确认删除数据

(2)点击确认之后,就真正的删除数据

​ 点击取消之后,放弃删除

(3)删除完之后,重新加载数据表格

remove:function(){
    //拿到要删除的对应的行
    var row = $("#employee-grid").datagrid("getSelected");
    if(!row){//如果没有选中行,进行提示
        $.messager.alert('温馨提示:','请选中一行再进行删除','info');
    }else{//确认是否真的要删除
        $.messager.confirm('温馨提示:','是否确认删除',function(result){
            if(result){
                //发送ajax请求去删除
                $.get("success,json",{id:row.id},function(data){
                    if(data.success){//删除成功
                        $.messager.alert('消息提示:','删除成功','info');
                        //重新加载数据
                        $("#employee-grid").datagrid('reload');
                    }else{
                        $.messager.alert('温馨提示:','删除失败','error');
                    }
                })
            }else{//取消删除
                $("#employee-grid").datagrid('reload');
            }
        })
    }
},

(七)添加

(1)弹窗对话框

(2)每次添加清空表单里面数据

(3)提交form表单

1.表单

<div id="formDlg" class="easyui-dialog" style="width:300px"
	closed="true"
	data-options="
		     	resizable:true,
		        title:'功能操作',
		        modal:true,
		        buttons:'#formButton'
">
	<form id="operateForm" method="get" action="/edit">
        <table cellpadding="5">
             <tr>
            	<td>用户名:</td>
			   <td><input class="easyui-textbox" type="text" name="username" data-options="required:true"></input></td>
    	     </tr>
			<tr>
    			<td>密码:</td>
			    <td><input id="password" class="easyui-textbox" type="password" name="password" data-options="required:true"></input></td>
    		</tr>
			<tr>
    			<td>确认密码:</td>
				<td><input class="easyui-textbox" type="password" name="configPassword"
data-options="required:true"></input></td>
    		</tr>
			<tr>
    			<td>邮件:</td>
				<td><input class="easyui-textbox" type="text" name="email" data-options="required:true,validType:'email'"></input></td>
    		</tr>
             <tr>
                  <td>年龄:</td>
                  <td><input class="easyui-textbox" name="age" data-options="required:true"></input></td>
             </tr>
			<tr>
    			<td>部门:</td>
				<td> 
        		 <input class="easyui-combobox" style="width:100px"
                      name="department.id"
                      data-options="
                      url:'department.json',
    				method:'get',
        			valueField:'id',
            		 textField:'name',
                	  panelHeight:'auto'
						"/>
				 </td>
			</tr>
		</table>
	</form>
	<div id="formButton">
		<a href="#" class="easyui-linkbutton" onclick="$('#formDlg').dialog('close');" data-	options="iconCls:'icon-cancel'">取消</a>
		<a href="#" class="easyui-linkbutton" data-method="save" data-options="iconCls:'icon-ok'" id="confirm">确定</a>
	</div>
</div>

2.弹框

add:function(){
    //清除数据
    $("#operateForm").form("clear");
    //弹出添加框
    $("#formDlg").dialog('center').dialog('open').dialog("setTitle","添加数据");
},

3.提交表单

save:function(){
    $("#operateForm").form("submit",{  
        method:'get',
        url:'success.json',    
        onSubmit:function(){
            //提交前可以进行验证
            return true;
        },
        success:function(data){
            var jsonObj = JSON.parse(data);
            if(jsonObj.success){
                $.messager.alert('消息提示:','提交成功','info');
                //关对话框
                $("#formDlg").dialog('close');
                //重新加载数据
                $("#employee-grid").datagrid('reload');
            }else{
                $.messager.alert('温馨提示:','提交失败','error');
            }
        }
    });
}

(八)修改

1)判断表格里面是否选中数据

​ 如果没有选中就提示用户选中数据

​ 如果选中就弹窗修改对话框

(2) 弹窗dialog对话框要回显

(3)提交表单时判断id隐藏域这个值是否为null,如果不为空,就是修改,否则新增

1.修改表单,在密码后面添加属性,决定是否显示

<tr data-save="true">
	<td>密码:</td>
	<td><input id="password" class="easyui-textbox" type="password" name="password" data-options="required:true"></input></td>
</tr>
<tr data-save="true">
	<td>确认密码:</td>
	<td><input class="easyui-textbox" type="password" name="configPassword"
data-options="required:true"></input></td>
</tr>

2.在表单中隐藏id

<input type="hidden" name="id" id="employeeId" />

3.添加弹框显示密码框

add:function(){
    //清除数据
    $("#operateForm").form("clear");
    //弹出添加框
    $("#formDlg").dialog('center').dialog('open').dialog("setTitle","添加数据");
    //显示密码框
    $("tr[data-save]").show();
},

4.弹框

edit:function(){
    //判断是否有选中的行
    var row = $("#employee-grid").datagrid("getSelected");
    if(!row){
        $.messager.alert('温馨提示:','请选中一行再进行修改','info');
    }else{
        $("#formDlg").dialog('center').dialog('open').dialog("setTitle","修改数据");
        //隐藏密码框
        $("tr[data-save]").hide();
        //部门回显
        if(row.department){
            row["department.id"] = row.department.id;
        }else{
            row["department.id"] = "";
        }
        //进行数据回显
        $("#operateForm").form('load',row);
    }
},

5.提交表单进行判断

save:function(){
    //让添加与修改执行不同的方法
    var id = $("#employeeId").val();
    var url = "/employee/save";
    if(id){
        url = "/employee/update";
    }
    $("#operateForm").form("submit",{  
        method:'get',
        url:'success.json',    
        onSubmit:function(){
            //提交前可以进行验证
            return true;
        },
        success:function(data){
            var jsonObj = JSON.parse(data);
            if(jsonObj.success){
                $.messager.alert('消息提示:','提交成功','info');
                //关对话框
                $("#formDlg").dialog('close');
                //重新加载数据
                $("#employee-grid").datagrid('reload');
            }else{
                $.messager.alert('温馨提示:','提交失败','error');
            }
        }
    });
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值