easy简化封装

2024-09-05 20:48
文章标签 封装 easy 简化

本文主要是介绍easy简化封装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//confirm 
function Confirm(msg, control) {$.messager.confirm('确认', msg, function (r) {if (r) {eval(control.toString().slice(11));}});return false;
}//load
function Load() {$("<div class=\"datagrid-mask\"></div>").css({ display: "block", width: "100%", height: $(window).height() }).appendTo("body");$("<div class=\"datagrid-mask-msg\"></div>").html("正在运行,请稍候。。。").appendTo("body").css({ display: "block", left: ($(document.body).outerWidth(true) - 190) / 2, top: ($(window).height() - 45) / 2 });
}//display Load
function dispalyLoad() {$(".datagrid-mask").remove();$(".datagrid-mask-msg").remove();
}//弹出提醒框alert
function showMsg(title, msg, isAlert) {if (isAlert !== undefined && isAlert) {$.messager.alert(title, msg);} else {$.messager.show({title: title,msg: msg,showType: 'show'});}
}//删除确认confirm
function deleteConfirm() {return showConfirm('温馨提示', '确定要删除吗?');
}//弹出确认框confirm
function showConfirm(title, msg, callback) {$.messager.confirm(title, msg, function (r) {if (r) {if (jQuery.isFunction(callback))callback.call();}});
}//进度条
function showProcess(isShow, title, msg) {if (!isShow) {$.messager.progress('close');return;}var win = $.messager.progress({title: title,msg: msg});
}//弹出框体window
function showMyWindow(title, href, width, height, modal, minimizable, maximizable) {$('#myWindow').window({title: title,width: width === undefined ? 600 : width,height: height === undefined ? 400 : height,content: '<iframe scrolling="yes" frameborder="0"  src="' + href + '" style="width:100%;height:98%;"></iframe>',//        href: href === undefined ? null : href,modal: modal === undefined ? true : modal,minimizable: minimizable === undefined ? false : minimizable,maximizable: maximizable === undefined ? false : maximizable,shadow: false,cache: false,closed: false,collapsible: false,resizable: false,loadingMessage: '正在加载数据,请稍等片刻......'});}//关闭弹出框体 window
function closeMyWindow() {$('#myWindow').window('close');}/**
*清空指定表单中的内容,参数为目标form的id
*注:在使用Jquery EasyUI的弹出窗口录入新增内容时,每次打开必须清空上次输入的历史
*数据,此时通常采用的方法是对每个输入组件进行置空操作:$("#name").val(""),这样做,
*当输入组件比较多时会很繁琐,产生的js代码很长,这时可以将所有的输入组件放入个form表单
*中,然后调用以下方法即可。
*
*@param formId将要清空内容的form表单的id
*/
function resetContent(formId) {var clearForm = document.getElementById(formId);if (null != clearForm && typeof (clearForm) != "undefined") {clearForm.reset();}
}/**
*刷新DataGrid列表(适用于Jquery Easy Ui中的dataGrid)
*注:建议采用此方法来刷新DataGrid列表数据(也即重新加载数据),不建议直接使用语句
*$('#dataTableId').datagrid('reload');来刷新列表数据,因为采用后者,如果日后
*在修改项目时,要在系统中的所有刷新处进行其他一些操作,那么你将要修改系统中所有涉及刷新
*的代码,这个工作量非常大,而且容易遗漏;但是如果使用本方法来刷新列表,那么对于这种修
*该需求将很容易做到,而去不会出错,不遗漏。
*
*@paramdataTableId将要刷新数据的DataGrid依赖的table列表id
*/
function flashTable(dataTableId) {$('#' + dataTableId).datagrid('reload');
}
/**
*取消DataGrid中的行选择(适用于Jquery Easy Ui中的dataGrid)
*注意:解决了无法取消"全选checkbox"的选择,不过,前提是必须将列表展示
*数据的DataGrid所依赖的Table放入html文档的最全面,至少该table前没有
*其他checkbox组件。
*
*@paramdataTableId将要取消所选数据记录的目标table列表id
*/
function clearSelect(dataTableId) {$('#' + dataTableId).datagrid('clearSelections');//取消选择DataGrid中的全选$("input[type='checkbox']").eq(0).attr("checked", false);
}/**
*关闭Jquery EasyUi的弹出窗口(适用于Jquery Easy Ui)
*
*@paramdialogId将要关闭窗口的id
*/
function closeDialog(dialogId) {$('#' + dialogId).dialog('close');
}/**
*自适应表格的宽度处理(适用于Jquery Easy Ui中的dataGrid的列宽),
*注:可以实现列表的各列宽度跟着浏览宽度的变化而变化,即采用该方法来设置DataGrid
*的列宽可以在不同分辨率的浏览器下自动伸缩从而满足不同分辨率浏览器的要求
*使用方法:(如:{field:'ymName',title:'编号',width:fillsize(0.08),align:'center'},)
*
*@parampercent当前列的列宽所占整个窗口宽度的百分比(以小数形式出现,如0.3代表30%)
*
*@return通过当前窗口和对应的百分比计算出来的具体宽度
*/
function fillsize(percent) {var bodyWidth = document.body.clientWidth;return (bodyWidth - 90) * percent;
}/**
* 获取所选记录行(单选)
*
* @paramdataTableId目标记录所在的DataGrid列表的table的id
* @paramerrorMessage 如果没有选择一行(即没有选择或选择了多行)的提示信息
*
* @return 所选记录行对象,如果返回值为null,或者"null"(有时浏览器将null转换成了字符串"null")说明没有
*选择一行记录。
*/
function getSingleSelectRow(dataTableId, errorMessage) {var rows = $('#' + dataTableId).datagrid('getSelections');var num = rows.length;if (num == 1) {return rows[0];} else {$.messager.alert('提示消息', errorMessage, 'info');return null;}
}/**
* 在DataGrid中获取所选记录的id,多个id用逗号分隔
* 注:该方法使用的前提是:DataGrid的idField属性对应到列表Json数据中的字段名必须为id
* @paramdataTableId目标记录所在的DataGrid列表table的id
*
* @return 所选记录的id字符串(多个id用逗号隔开)
*/
function getSelectIds(dataTableId, noOneSelectMessage) {var rows = $('#' + dataTableId).datagrid('getSelections');var num = rows.length;var ids = null;if (num < 1) {if (null != noOneSelectMessage) $.messager.alert('提示消息', noOneSelectMessage, 'info');return null;} else {for (var i = 0; i < num; i++) {if (null == ids || i == 0) {ids = rows[i].id;} else {ids = ids + "," + rows[i].id;}}return ids;}
}/**
*删除所选记录(适用于Jquery Easy Ui中的dataGrid)(删除的依据字段是id)
*注:该方法会自动将所选记录的id(DataGrid的idField属性对应到列表Json数据中的字段名必须为id)
*动态组装成字符串,多个id使用逗号隔开(如:1,2,3,8,10),然后存放入变量ids中传入后台,后台
*可以使用该参数名从request对象中获取所有id值字符串,此时在组装sql或者hql语句时可以采用in
*关键字来处理,简介方便。
*另外,后台代码必须在操作完之后以ajax的形式返回Json格式的提示信息,提示的json格式信息中必须有一个
*message字段,存放本次删除操作成功与失败等一些提示操作用户的信息。
*
*@paramdataTableId将要删除记录所在的列表table的id
*@paramrequestURL与后台服务器进行交互,进行具体删除操作的请求路径
*@paramconfirmMessage 删除确认信息
*/function deleteNoteById(dataTableId, requestURL, confirmMessage) {if (null == confirmMessage || typeof (confirmMessage) == "undefined" || "" == confirmMessage) {confirmMessage = "确定删除所选记录?";}var rows = $('#' + dataTableId).datagrid('getSelections');var num = rows.length;var ids = null;if (num < 1) {$.messager.alert('提示消息', '请选择你要删除的记录!', 'info');} else {$.messager.confirm('确认', confirmMessage, function (r) {if (r) {for (var i = 0; i < num; i++) {if (null == ids || i == 0) {ids = rows[i].id;} else {ids = ids + "," + rows[i].id;}}$.getJSON(requestURL, { "ids": ids }, function (data) {if (null != data && null != data.message && "" != data.message) {$.messager.alert('提示消息', data.message, 'info');flashTable(dataTableId);} else {$.messager.alert('提示消息', '删除失败!', 'warning');}clearSelect(dataTableId);});}});}
}
$(function(){  /*************************可直接调用的校验方法***************************/  /*notNull('age','年龄不能为空');  reapet('password','repassword','两次输入不相同');  number('age','只能为数字');  cellPhone('phone','手机号格式不正确');  phone('phone','电话号码格式不正确');  email('email','邮箱格式不正确');  unique('username','unique.html','name');  form('form','user_regist.html');  *///不为空函数  notNull = function(id, msg){  $('#'+id).validatebox({  required: true,  missingMessage: msg  });  }  //重复函数  reapet = function(id, re_id, msg){  id = '#'+id;  $('#'+re_id).validatebox({  validType: "reapet['"+id+"','"+msg+"']"  });  };  //数字  number = function(id, msg){  $('#'+id).validatebox({  validType: 'number["'+msg+'"]'  });  };  //手机号码  cellPhone = function(id, msg){  $('#'+id).validatebox({  validType: 'cellPhone["'+msg+'"]'  });  };  //电话号码  phone = function(id, msg){  $('#'+id).validatebox({  validType: 'phone["'+msg+'"]'  });  };  //邮箱  email = function(id,msg){  $('#'+id).validatebox({  validType: 'email',  invalidMessage: msg  });  };  //url  url = function(id, msg){  $('#'+id).validatebox({  validType: 'url',  invalidMessage: msg  });  };  //ip  ip = function(id, msg){  $('#'+id).validatebox({  validType: 'ip["'+msg+'"]'  });  };  /** * 提交后台进行唯一性校验 * @param id:校验元素的id,url: 提交的地址,paramName: 传入值的参数名称 */  unique = function(id, url, paramName){  $('#'+id).validatebox({  validType: 'unique["'+url+'","'+id+'","'+paramName+'"]'  });  };  //提交,数据无效时阻止提交  form = function(id, url){  $("#"+id).form({  url: url,  onSubmit: function(){  return $(this).form('validate');  },  success: function(data){  alert(data);  }  });  };  /*************************不为空校验 required="true"********************************/  //在HMTL标签中加入required="true"可进行不能为空校验  $("*").each(function(){  if($(this).attr('required')){  $(this).validatebox({  required: true,  missingMessage: '不能为空'  });  }  });  //当使用struts标签时,加入属性required="true"能过下面代码实现不能为空校验  //注意:struts标签需用label   $('span').each(function(){  //遍历所有span标签,检验是否设有class="required"  if($(this).attr('class')=='required'){  $("#"+$(this).parent().attr('for')).validatebox({  required: true,  missingMessage: '不能为空'  });  }  });  /*************************自定义方法********************************/  /** *自定义的校验方法(校验两次密码是否相同) * @param param为传入第一次输入的密码框的id * @call repeat['#id'] */  $.extend($.fn.validatebox.defaults.rules,{  reapet: {  validator: function(value, param){  var pwd = $(param[0]).attr('value');   if(pwd != value){  return false;  }  return true;  },  message: '{1}'  }  });  //利用正则进行数字校验  $.extend($.fn.validatebox.defaults.rules, {  number: {  validator: function(value, param){  return /^-?(?:/d+|/d{1,3}(?:,/d{3})+)(?:/./d+)?$/.test(value);  },  message: '{0}'  }  });  //手机号  $.extend($.fn.validatebox.defaults.rules,{  cellPhone: {  validator: function(value, param){  return /^0{0,1}(13[4-9]|15[7-9]|15[0-2]|18[7-8])[0-9]{8}$/.test(value);  },  message: '{0}'  }  });  /** * 电话号码 * 匹配格式:11位手机号码 * 3-4位区号,7-8位直播号码,1-4位分机号 * 如:12345678901、1234-12345678-1234 */  $.extend($.fn.validatebox.defaults.rules,{  phone: {  validator: function(value, param){  return /(/d{11})|^((/d{7,8})|(/d{4}|/d{3})-(/d{7,8})|(/d{4}|/d{3})-(/d{7,8})-(/d{4}|/d{3}|/d{2}|/d{1})|(/d{7,8})-(/d{4}|/d{3}|/d{2}|/d{1}))$/.test(value);  },  message: '{0}'  }  });  //ip校验  $.extend($.fn.validatebox.defaults.rules,{  ip: {  validator: function(value, param){  return /^((2[0-4]/d|25[0-5]|[01]?/d/d?)/.){3}(2[0-4]/d|25[0-5]|[01]?/d/d?)$/.test(value);  },  message: '{0}'  }  });  //唯一性校验  $.extend($.fn.validatebox.defaults.rules,{  unique: {  validator: function(value, param){  value = $('#'+param[1]).attr('value');  $('#'+param[1]).load(param[0]+"?"+param[2]+"="+value,  function(responseText, textStatus, XMLHttpRequest){  if(responseText) //后台返回true或者false  return true;      });  return false;  },  message: '用户名已存在'  }  });  
});  

 

这篇关于easy简化封装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1140031

相关文章

JavaSE——封装、继承和多态

1. 封装 1.1 概念      面向对象程序三大特性:封装、继承、多态 。而类和对象阶段,主要研究的就是封装特性。何为封装呢?简单来说就是套壳屏蔽细节 。     比如:对于电脑这样一个复杂的设备,提供给用户的就只是:开关机、通过键盘输入,显示器, USB 插孔等,让用户来和计算机进行交互,完成日常事务。但实际上:电脑真正工作的却是CPU 、显卡、内存等一些硬件元件。

哈希表的封装和位图

文章目录 2 封装2.1 基础框架2.2 迭代器(1)2.3 迭代器(2) 3. 位图3.1 问题引入3.2 左移和右移?3.3 位图的实现3.4 位图的题目3.5 位图的应用 2 封装 2.1 基础框架 文章 有了前面map和set封装的经验,容易写出下面的代码 // UnorderedSet.h#pragma once#include "HashTable.h"

封装MySQL操作时Where条件语句的组织

在对数据库进行封装的过程中,条件语句应该是相对难以处理的,毕竟条件语句太过于多样性。 条件语句大致分为以下几种: 1、单一条件,比如:where id = 1; 2、多个条件,相互间关系统一。比如:where id > 10 and age > 20 and score < 60; 3、多个条件,相互间关系不统一。比如:where (id > 10 OR age > 20) AND sco

hibernate修改数据库已有的对象【简化操作】

陈科肇 直接上代码: /*** 更新新的数据并并未修改旧的数据* @param oldEntity 数据库存在的实体* @param newEntity 更改后的实体* @throws IllegalAccessException * @throws IllegalArgumentException */public void updateNew(T oldEntity,T newEntity

LibSVM学习(六)——easy.py和grid.py的使用

我们在“LibSVM学习(一)”中,讲到libSVM有一个tools文件夹,里面包含有四个python文件,是用来对参数优选的。其中,常用到的是easy.py和grid.py两个文件。其实,网上也有相应的说明,但很不系统,下面结合本人的经验,对使用方法做个说明。        这两个文件都要用python(可以在http://www.python.org上下载到,需要安装)和绘图工具gnup

4-4.Andorid Camera 之简化编码模板(获取摄像头 ID、选择最优预览尺寸)

一、Camera 简化思路 在 Camera 的开发中,其实我们通常只关注打开相机、图像预览和关闭相机,其他的步骤我们不应该花费太多的精力 为此,应该提供一个工具类,它有处理相机的一些基本工具方法,包括获取摄像头 ID、选择最优预览尺寸以及打印相机参数信息 二、Camera 工具类 CameraIdResult.java public class CameraIdResult {

Docker 容器技术:简化 MySQL 主从复制部署与优化

Docker 容器技术:简化 MySQL 主从复制部署与优化 引言 随着大数据和云计算的快速发展,数据库的高可用性、可扩展性和易维护性成为了企业IT架构中的重要考量因素。MySQL 作为一款流行的开源数据库管理系统,其主从复制(Master-Slave Replication)功能为实现数据备份、故障恢复、读取扩展和数据分析提供了强有力的支持。然而,传统的 MySQL 主从复制部署过程复杂且容

Java封装构造方法

private/public的分装 被public修饰的成员变量或者是成员方法,可以被类的调用对象直接使用 而private修饰的成员变量和方法,不能被类的调用对象使用 例如: 可以看到我们是不能在main方法中直接调用被private修饰的变量 当然我们可以在我们定义的TestMode类中可以定一个方法show,然后在调用show方法实现 这里我们可以清楚了解 private 不光可以修

C++数据结构重要知识点(5)(哈希表、unordered_map和unordered_set封装)

1.哈希思想和哈希表 (1)哈希思想和哈希表的区别 哈希(散列、hash)是一种映射思想,本质上是值和值建立映射关系,key-value就使用了这种思想。哈希表(散列表,数据结构),主要功能是值和存储位置建立映射关系,它通过key-value模型中的key来定位数组的下标,将value存进该位置。 哈希思想和哈希表数据结构这两个概念要分清,哈希是哈希表的核心思想。 (2)unordered

11991 - Easy Problem from Rujia Liu?

题意: 输入一串整型数列,再输入两个数k,v,输出第k个v的序号。不存在则输出0,如第一个样例 8 41 3 2 2 4 3 2 11 3 //第1个3,序号为2,输出22 4 //第2个4,不存在,输出03 2 //第3个2,序号为7,输出74 2 思路: struct num {