jQuery EasyUI Day2

1easyui常用组件

1.1 Tabs选项卡面板页签

1.2 Messager(消息窗口)

//消息对话框,本质就是一个window(dialog),只是我们使用他的时候不需要手动创建.
setTimeout(function(){
	
	/**
		showType:定义将如何显示该消息。可用值有:null,slide,fade,show。默认:slide。
		showSpeed:定义窗口显示的过度时间。默认:600毫秒。
		width:定义消息窗口的宽度。默认:250px。
		height:定义消息窗口的高度。默认:100px。
		title:在头部面板显示的标题文本。
		msg:显示的消息文本。
		style:定义消息窗体的自定义样式。
		timeout:如果定义为0,消息窗体将不会自动关闭,除非用户关闭他。如果定义成非0的数,消息窗体将在超时后自动关闭。默认:4秒。 
	**/
	$.messager.show({
		 title:'温馨提示',
		 width:350,
		 showSpeed:5000,
		 msg:'你在不好好学习,就只有天天咋家撸(LOL)',
		 showType:'slide',  //show=从右下角往左上角    slide=滑动  fade=淡入
		 timeout:0
	});
},3000);


//进度条
$(function(){
	$.messager.progress({
		 title:'Please waiting',
		 msg:'Loading data...'
	});
	//延迟5秒后,关闭进度条.
	setTimeout(function(){
	 	$.messager.progress('close');
	},5000);
});

//对话框
$(function(){
	/*
	显示警告窗口。参数:
		title:在头部面板显示的标题文本。
		msg:显示的消息文本。
		icon:显示的图标图像。可用值有:error,question,info,warning。
		fn: 在窗口关闭的时候触发该回调函数。
	*/
	$.messager.alert("友情提示","别说话,直接来","error");
});

//确认框
$(function(){
	/*
		$.messager.confirm
			title:在头部面板显示的标题文本。
			msg:显示的消息文本。
			fn(b): 当用户点击“确定”按钮的时侯将传递一个true值给回调函数,否则传递一个false值。 
	*/
	$.messager.confirm("提示","你确定删除吗?",function(b){
		if(b){
			console.debug("删除操作....");
		}
	});
});

1.3 form组件

1.4 DataGrid面板

1.5 layout布局组件

验证组件 : easyui-validatebox
下拉列表:easyui-combobox

2 easyui综合练习(CRUD)

2.1 页面布局

在这里插入图片描述
引入easyui文件

<!-- easyui的样式主题文件 -->
<link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css">
<!-- easyui的系统图标-->
<link rel="stylesheet" type="text/css" href="easyui/themes/icon.css">
<!-- easyui依赖的jquery库-->
<script type="text/javascript" src="easyui/jquery.min.js"></script>
<!-- easyui的插件库-->
<script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
<!-- easyui的汉化包 -->
<script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>
//树型菜单
$("#treeMenu").tree({
	url:'json/menuTree.json',
	method:'get',
	onClick:function(node){
		//解决父级不应该添加选项卡
		if(node.url){
			//先判断选项卡里面是否存在当前的菜单,如果存在,不应该添加
			if(!$("#tabsId").tabs('exists',node.text)){
				//点击菜单的时候,添加选项卡
				$('#tabsId').tabs('add',{
					title: node.text,
					closable:true,
					content:"<iframe frameborder=0 style='width:100%;height:100%' src='"+node.url+"'></iframe>"
				});
			}else{
				//选择当前这个页签
				$('#tabsId').tabs('select',node.text);
			}
		}
		
	}
});
<body class="easyui-layout">
		 <div class="northCls" data-options="region:'north',split:true">
		      
		      <div style="font-size:30px;margin-top: 20px;float:left">
		         	智能销售管理系统
		       </div>
		       <div style="font-size:15px;float:right;margin-top:60px ;">
		       		欢迎<span style="color:red;">XXX</span>进入 
		       		<a href="#">注销</a>
		       </div>
		 </div>
		 <div data-options="region:'south',split:true" style="height:100px;">
		        版权信息等内容
		  </div>
		  <div id="treeMenu" data-options="region:'west',title:'菜单信息',split:true" style="width:230px;">
		        	主要存放菜单信息(树菜单)
		  </div>
		  <div id="tabsId" class="easyui-tabs" data-options="region:'center'" style="background:#eee;">
		  </div>	
</body>

2.2 easyui加载树菜单和加载页签

//树型菜单
$("#treeMenu").tree({
	url:'json/menuTree.json',
	method:'get',
	onClick:function(node){
		//解决父级不应该添加选项卡
		if(node.url){
			//先判断选项卡里面是否存在当前的菜单,如果存在,不应该添加
			if(!$("#tabsId").tabs('exists',node.text)){
				//点击菜单的时候,添加选项卡
				$('#tabsId').tabs('add',{
					title: node.text,
					closable:true,
					content:"<iframe frameborder=0 style='width:100%;height:100%' src='"+node.url+"'></iframe>"
				});
			}else{
				//选择当前这个页签
				$('#tabsId').tabs('select',node.text);
			}
		}
		
	}
});

2.3 绑定按钮点击事件

//统一给a标签绑定事件
$("a").on('click',function(){
		//获取到 a标签里面配置 data-method=‘add/edit/search’
		var methodName = $(this).data('method');
		if(methodName){
			itsource[methodName]();
		}
	});

var itsource = {
		add:function(){
			alert('add');
		},
		edit:function(){
			alert('edit');
		},
		remove:function(){
			alert('remove');
		},
		search:function(){
			//思路 获取input里面的数据
			//var username = $("#username").val();
			//console.log(username);
			var params = $("#searchForm").serializeObject();
			
			//搜索 发送请求 (表格路径url-springmvc)把参数
			$("#employee-grid").datagrid('load',params);
			
		}
	}

2.4 搜索

/**
* 搜索:(1)获取搜索表单添加内容值
   		(2)调用load方法加载表格,就发送请求查询数据返回json,加载到表格里面去
 */
	search:function(){
		//思路 获取input里面的数据
		//var username = $("#username").val();
		//console.log(username); jquery 的扩展的jquery.jdirk.js
		var params = $("#searchForm").serializeObject();	
		//搜索 发送请求 (表格路径url-springmvc)把参数
		$("#employee-grid").datagrid('load',params);
	}

2.5 删除功能

删除思路:

  1. 在删除之前 先判断是否选中一行 如果没有选中,就提示先选中一行
    如果选中了 提示用户是否真的删除
  2. 确认删除 通过ajax发送数据到后台 确认删除
  3. 删除完数据之后 重新加载表格数据
remove: function() {
	//删除方法  获取表格里面是否选中行
	var row = $("#employee-grid").datagrid('getSelected');
	//判断如果没有选中一行
	if(!row) {
		$.messager.alert("温馨提示", "亲,你要先选中一行才能删除额!", "info");
		return;
	}
	$.messager.confirm("温馨提示", "亲,你舍得删除我吗?", function(r) {
		//如果点击确定 为真
		if(r) {
			//删除数据  发送ajax请求  删除数据
			$.get("json/success.json", { "id": row.id }, function(result) {
				if(result.success) {
					$.messager.alert("温馨提示", "删除成功", "info")
					//删除成功后 刷新界面
					$("#employee-grid").datagrid('reload');
				} else {
					$.messager.alert("温馨提示", "删除失败", "info")
				}
			})
		}
	})
}

2.6 新增功能

思路:

  1. 新增和修改用的一个dialog对话框,新增之前先弹出对话框
  2. 每次新增之前 先清空form表单的数据
  3. 添加弹出对话框时,将密码框放出来 启动密码验证
add: function() {
	//清空form表单数据
	$("#operateForm").form('clear');
	//添加的时候讲密码放出来
	$("tr[pwd=true]").show();
	//启动密码验证
	$("#tr[pwd=true] input").validatebox('enableValidation');
	//弹出dialog对话框
	$("#formDlg").dialog("open");
}

2.7修改功能

思路:

  1. 修改之前先判断用户是否选中一行数据 如果没有 提示用户选中
  2. 修改时 将密码框隐藏 验证框禁用
  3. 部门回显
  4. 加载row数据 完成回显
edit:function() {
	//修改方法  获取表格里面是否选中行
	var row = $("#employee-grid").datagrid('getSelected');
	//判断如果没有选中一行
	if(!row) {
		$.messager.alert("温馨提示", "亲,你要先选中一行才能修改额!", "info");
		return;
	}
	//隐藏密码框
	$("tr[pwd=true]").hide();
	//禁用密码框
	$("tr[pwd=true] input").validatebox('disableValidation');
	//部门回显
	//row对象  row.department.id = 1/2/3
	if(row.department){
		row["department.id"] = row.department.id;
	}else{
		row["department.id"] = "";
	}
	//修改的时候 弹出对话框  回显数据
	$("#formDlg").dialog('open');
	//数据回显
	$("#operateForm").form('load',row);
	
}

2.8保存功能

修改和新增保存差不多,区别是新增没有id值,修改有id值,判断一下
思路:

  1. 提交form表单 ,调用form(‘submit’,{})
  2. doSubmit:验证,必须表单里的数据全部填写完毕才能提交表单,否则不提交
  3. success: 成功之后,处理方法
  4. 得到返回的json数据,根据json数据做判断,为真则保存成功 反之保存失败
save:function(){
	//提交表单
	$("#operateForm").form('submit',{
		//提交的路径
		url:"json/success.json",
		onSubmit:function(){
			//在做提交之前验证
			//表单里面的数据是否全部填写完毕
			return $(this).form('validate');
		},
		success:function(data){
			//不是json对象
			//转换为json对象
			var result = $.parseJSON(data);
			//判断
			if(result.success){
				$.messager.alert("温馨提示:","操作成功","info")
				//重新加载数据
				$("#employee-grid").datagrid('reload');
				//关闭对话框
				$("#formDlg").dialog('close');
			}else{
				$.messager.alert("温馨提示:","操作失败","error")
			}
		}
	})
}

2.9 form表单验证

easyui本身提供了验证,但是只提供了四个简单的验证功能,入股偶想要扩展验证功能
就需要引入easyui扩展
引入的时候 需要加载对应的js文件和css文件

<!-- jquery.jdirk.js-->
<script type="text/javascript" src="js/jquery.jdirk.js"></script>
<!--验证功能-->
<script type="text/javascript" src="js/jeasyui.extensions.validatebox.rules.js"></script>
<!--引入css-->
<link rel="stylesheet" type="text/css" href="css/jeasyui.extensions.validatebox.css" />

在输入框里面使用验证:

data-options="required:true,validType:'length[4,12]'" //必填和字符长度验证
data-options="required:true,validType:'minLength[6]'" //最小长度验证
validType="equals['#password','jquery']" //确认密码验证
data-options="required:true,validType:'email'" //email的验证
data-options="required:true,validType:'integerRange[18,60]'" //范围验证
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值