自定义方法:

  1. (function($) {
  2. $.extend($, {
  3. //获取下标,删除时使用
  4. getArrayIndex :  function (array,value) {
  5. var index = -1;
  6. var length = array.length;
  7. for (var i = 0; i < length; i++) {
  8. if (array[i].id == value.id) {
  9. index = i;
  10. break;
  11. }
  12. }
  13. return index;
  14. } ,
  15. removeValue : function (array,value){
  16. var index = $.getArrayIndex(array,value);
  17. if(index < 0) return array;
  18. array.splice(index,1);
  19. return array;
  20. }
  21. });
  22. })(jQuery);
  23. function checkExist(array,node){
  24. var id = node.id;
  25. var flag = false;
  26. for(var i = 0;i<array.length; i++){
  27. var row = array[i];
  28. if(row.id == id){
  29. flag = true;
  30. break; //中断循环
  31. }
  32. }
  33. return flag;
  34. }
  35. Array.prototype.getIndexByValue= function(value)
  36. {
  37. var index = -1;
  38. for (var i = 0; i < this.length; i++)
  39. {
  40. if (this[i] == value)
  41. {
  42. index = i;
  43. break;
  44. }
  45. }
  46. return index;
  47. };
  48. //在数组中获取指定值的元素索引
  49. Array.prototype.removeValue= function(value)
  50. {
  51. var index = this.getIndexByValue(value);
  52. var s = this.splice(index,1);
  53. return s;
  54. }  ;
  1. String.prototype.startsWith = function (substring) {
  2. var reg = new RegExp("^" + substring);
  3. return reg.test(this);
  4. };
  5. String.prototype.endsWith = function (substring) {
  6. var reg = new RegExp(substring + "$");
  7. return reg.test(this);
  8. };
  9. String.prototype.trim = function(){
  10. var reg = /[\s\n\r]+/g;
  11. return this.replace(reg, "");
  12. }
  1. /**
  2. * 序列化元素,返回JSON对象
  3. * 参数:flag 空元素是否系列化成空字符串
  4. */
  5. $.fn.toJson = function (flag) {
  6. var json = {};
  7. var fields = this.serializeArray();
  8. $.each(fields, function () {
  9. if (json[this.name]) {
  10. if (!json[this.name].push) {
  11. json[this.name] = [json[this.name]];
  12. }
  13. if (flag || (!flag && this.value != "")) {
  14. json[this.name].push(this.value || "");
  15. }
  16. } else {
  17. if (flag || (!flag && this.value != "")) {
  18. json[this.name] = this.value || "";
  19. }
  20. }
  21. });
  22. return json;
  23. };

其他优化方法:

  1. function comboboxInit(obj,lookupType,form,defaultValue,wid){
  2. var _obj = $('#'+obj);
  3. if('' != form  && typeof form != 'undefined'){
  4. _obj = $("#"+form).find("#"+obj);
  5. }
  6. if('' == wid || typeof wid == 'undefined'){
  7. wid = "150";
  8. }
  9. _obj.combobox({
  10. required:true,
  11. width:wid,
  12. valuefield:'value',
  13. textField:'text',
  14. panelHeight:'auto',
  15. url: root + 'esbService/lookupValComBox.json?lookupType='+lookupType,
  16. editable:false,
  17. onLoadSuccess:function(){
  18. if('' != defaultValue  && typeof defaultValue != 'undefined'){
  19. _obj.combobox('select',defaultValue);
  20. }else{
  21. _obj.combobox('select','');
  22. }
  23. }
  24. });
  25. }
  26. function toggleSenior(but) {
  27. var check = false;
  28. if ($(but).attr("checked") == "checked") {
  29. check = true;
  30. }
  31. var rowHeight = 0;
  32. $(but).parents("form:first").find("tr.advancedCondiction").each(
  33. function (i, n) {
  34. rowHeight += 28;
  35. if (check) {$(n).show();}
  36. else {$(n).hide();}
  37. });
  38. var $layout = $(but).parents(".easyui-layout:first");
  39. var panelHeight = $layout.layout("panel", "north").panel("options").height;
  40. if (check) {
  41. panelHeight += rowHeight;
  42. } else {
  43. panelHeight -= rowHeight;
  44. }
  45. $layout.layout("panel", "north").panel("resize", {height: panelHeight});
  46. $layout.layout("resize");
  47. if(!check){
  48. clearAdvanced();
  49. }
  50. }
  51. function doSearch(form){
  52. var $fm = $(form);
  53. var fields =$('#queryForm').serializeArray();
  54. var params = $fm.datagrid('options').queryParams;
  55. $.each( fields, function(i, field){
  56. params[field.name] = field.value;
  57. });
  58. $fm.datagrid('reload');
  59. }
  60. function resetBtn(formId){
  61. $(formId).find("input[type='text']").each(function(){
  62. $(this).val("");
  63. });
  64. $('#method').combobox('select','');
  65. if($('#applicationId').length > 0){
  66. $('#applicationId').combobox('select','');
  67. }
  68. }
  69. 日期:
  70. 1、
  71. formatter:function(val,rec){
  72. return formattime(val);
  73. }
  74. function formattime(val) {
  75. var date = new Date(val);
  76. var tmp = trimDate(date.getFullYear())
  77. + '-' + trimDate(date.getMonth() + 1)
  78. + '-' + trimDate(date.getDate())
  79. + " "+trimDate(date.getHours())
  80. + ":"+trimDate(date.getMinutes())
  81. + ":"+trimDate(date.getSeconds());
  82. return tmp;
  83. }
  84. function trimDate(tmp){
  85. return parseInt(tmp) < 10 ? "0"+tmp : tmp;
  86. }
  87. 2、
  88. /**
  89. * jackson转换JSON时格式化日期的标注
  90. *
  91. */
  92. public class JsonDateSerializer extends JsonSerializer<Date> {
  93. private static DateFormat dateFormat = new SimpleDateFormat(
  94. "yyyy-MM-dd HH:mm:ss");
  95. public void serialize(Date date, JsonGenerator gen, SerializerProvider provider)
  96. throws IOException, JsonProcessingException {
  97. gen.writeString(dateFormat.format(date));
  98. }
  99. }

EasyUI项目中的自定义JS的更多相关文章

  1. win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件

    win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件 我杀过 w3wp.exe和asp.net_state的进程,重启 iis admin的服务,都还是不行. 只是把 ...

  2. 在 Ionic2 TypeScript 项目中导入第三方 JS 库

    原文发表于我的技术博客 本文分享了在Ionic2 TypeScript 项目中导入第三方 JS 库的方法,供参考. 原文发表于我的技术博客 1. Typings 的方式 因在 TypeScript 中 ...

  3. VS Code项目中共享自定义的代码片段方案

    VS Code项目中共享自定义的代码片段方案 一.问题背景 项目中注释风格不统一,如何统一注释风格 一些第三方组件库名称太长,每次使用都需要找文档,然后复制粘贴 部分组件库有自己的Snippets插件 ...

  4. 在项目中如何自定义的Eslint配置

    一.设置js风格的缩进为4个空格 在你的前端项目中找到.eslintrc.js文件,如图 module.exports = { root: true, parserOptions: { parser: ...

  5. 1.在项目中使用D3.js

    在项目中使用D3.js D3.js(全称:Data-Driven Documents)是一个基于数据操作文档的JavaScript库.D3帮助您使用HTML.SVG和CSS使数据生动起来.D3对web ...

  6. vue2项目中引用外部js文件

    vue2项目目录如下(utils文件夹是自己手工建的,然后在utils里新建js文件): 使用import导入文件时,注意路径,路径不对会报错: 导入之后使用外部js函数时,直接写导入时的名字加小括号 ...

  7. 在VC项目中使用自定义资源

    这是我看到的比较实用性的技巧,分享给大家 一.前言 在VC环境中除了我们所常用的Dialog.Menu和Bitmap等标准资源类型之外,它还支持自定义资源类型(Custom Resource),我们自 ...

  8. 在ASP.NET MVC3项目中,自定义404错误页面

    在Web开发中,用户体验是至关重要的,一个友好的网站自然少不了自定义404错误页面. 让笔者为大家介绍404错误页面在ASP.NET MVC3项目中的配置: 第一步,在项目的Web.config文件中 ...

  9. 在vue项目中使用canvas-nest.js,报parameter 1 is not of type 'Element'

    canvas-nest.js是一款轻量的网页特效,如图: github地址:https://github.com/hustcc/canvas-nest.js 在普通的html项目中,只要将<sc ...

随机推荐

  1. Java生成唯一GUID

    GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值. GUID ...

  2. IIS7的应用程序池详细解析

    在 IIS 7 中,应用程序池有两种运行模式:集成模式和经典模式.应用程序池模式会影响服务器处理托管代码请求的方式 在IIS 7中,添加一个应用程序或者单独的网站,默认会自动新建一个对应的“应用程序池 ...

  3. 下载url地址的图片

    // string url = "https://api.weixin.qq.com/cgi-bin/media/get?access_token=cNaaMfvhpb1vmcVRXRAdI ...

  4. Workflow_将一个消息同时发给通过用户(案例)

    2014-06-04 Created By BaoXinjian

  5. spineRuntTime for cocos2dx v3,attack播完后回到idle

    spineRuntTime for cocos2dx v3,attack播完后回到idle. _animationNode = spine::SkeletonAnimation::createWith ...

  6. Redis(二十):Redis数据过期和淘汰策略详解(转)

    原文地址:https://yq.aliyun.com/articles/257459# 背景 Redis作为一个高性能的内存NoSQL数据库,其容量受到最大内存限制的限制. 用户在使用Redis时,除 ...

  7. Java:集合,Collection接口框架图

    Java集合大致可分为Set.List和Map三种体系,其中Set代表无序.不可重复的集合:List代表有序.重复的集合:而Map则代表具有映射关系的集合.Java 5之后,增加了Queue体系集合, ...

  8. angular学习笔记(十六) -- 过滤器(1)

    本篇主要介绍过滤器的基本用法: 过滤器用来对数据进行格式的转换,数据格式的转化与逻辑无关,因此,我们使用过滤器来进行这些操作: {{... | filter2: 参数1,参数2... }} expre ...

  9. Redis on Spark:Task not serializable

    We use Redis on Spark to cache our key-value pairs.This is the code: import com.redis.RedisClient va ...

  10. singer页左侧滚动的时候右侧跟随高亮显示

    1.封装scroll.vue的listenScroll属性和方法,用来确定监听listview.vue的滚动事件 2.将listview.vue的listenScroll属性默认设置为true; 3. ...