EasyUI项目中的自定义JS

自定义方法:

Js代码  收藏代码
  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.       
  24.       
  25.     function checkExist(array,node){  
  26.         var id = node.id;  
  27.         var flag = false;  
  28.         for(var i = 0;i<array.length; i++){  
  29.             var row = array[i];  
  30.             if(row.id == id){  
  31.                 flag = true;  
  32.                 break; //中断循环  
  33.             }  
  34.         }  
  35.         return flag;  
  36.     }  
  37.       
  38.       
  39.     Array.prototype.getIndexByValue= function(value)    
  40.     {    
  41.         var index = -1;    
  42.         for (var i = 0; i < this.length; i++)    
  43.         {    
  44.             if (this[i] == value)    
  45.             {    
  46.                 index = i;    
  47.                 break;    
  48.             }    
  49.         }    
  50.         return index;    
  51.     };    
  52.   
  53.     //在数组中获取指定值的元素索引    
  54.     Array.prototype.removeValue= function(value)    
  55.     {    
  56.         var index = this.getIndexByValue(value);  
  57.         var s = this.splice(index,1);  
  58.         return s;  
  59.     }  ;  
Js代码  收藏代码
  1. String.prototype.startsWith = function (substring) {  
  2.         var reg = new RegExp("^" + substring);  
  3.         return reg.test(this);  
  4.         };  
  5.            
  6.         String.prototype.endsWith = function (substring) {  
  7.         var reg = new RegExp(substring + "$");  
  8.         return reg.test(this);  
  9.         };  
  10.           
  11.         String.prototype.trim = function(){  
  12.         var reg = /[s ]+/g;  
  13.         return this.replace(reg, "");  
  14.         }  
Js代码  收藏代码
  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.     };   

其他优化方法:

Js代码  收藏代码
  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.             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.       
  27.       
  28.     function toggleSenior(but) {  
  29.         var check = false;  
  30.         if ($(but).attr("checked") == "checked") {  
  31.             check = true;  
  32.         }  
  33.         var rowHeight = 0;  
  34.         $(but).parents("form:first").find("tr.advancedCondiction").each(  
  35.             function (i, n) {  
  36.                 rowHeight += 28;  
  37.                 if (check) {$(n).show();}  
  38.                 else {$(n).hide();}  
  39.             });  
  40.         var $layout = $(but).parents(".easyui-layout:first");  
  41.         var panelHeight = $layout.layout("panel", "north").panel("options").height;  
  42.         if (check) {  
  43.             panelHeight += rowHeight;  
  44.         } else {  
  45.             panelHeight -= rowHeight;  
  46.         }  
  47.         $layout.layout("panel", "north").panel("resize", {height: panelHeight});  
  48.         $layout.layout("resize");  
  49.         if(!check){  
  50.             clearAdvanced();      
  51.         }  
  52.     }   
  53.   
  54.       
  55.     function doSearch(form){  
  56.         var $fm = $(form);  
  57.         var fields =$('#queryForm').serializeArray();  
  58.         var params = $fm.datagrid('options').queryParams;  
  59.         $.each( fields, function(i, field){  
  60.             params[field.name] = field.value;   
  61.         });  
  62.         $fm.datagrid('reload');  
  63.     }  
  64.       
  65.     function resetBtn(formId){  
  66.         $(formId).find("input[type='text']").each(function(){  
  67.             $(this).val("");  
  68.         });  
  69.         $('#method').combobox('select','');       
  70.           
  71.         if($('#applicationId').length > 0){  
  72.             $('#applicationId').combobox('select','');  
  73.         }  
  74.     }  
  75.       
  76.       
  77. 日期:    
  78. 1、    
  79.     formatter:function(val,rec){    
  80.                     return formattime(val);    
  81.                 }    
  82.                     
  83.     function formattime(val) {  
  84.         var date = new Date(val);  
  85.         var tmp = trimDate(date.getFullYear())   
  86.             + '-' + trimDate(date.getMonth() + 1)   
  87.             + '-' + trimDate(date.getDate())  
  88.             + " "+trimDate(date.getHours())  
  89.             + ":"+trimDate(date.getMinutes())  
  90.             + ":"+trimDate(date.getSeconds());  
  91.         return tmp;  
  92.     }  
  93.       
  94.     function trimDate(tmp){  
  95.         return parseInt(tmp) < 10 ? "0"+tmp : tmp;  
  96.     }      
  97.         
  98. 2、    
  99. /**  
  100.  * jackson转换JSON时格式化日期的标注  
  101.  *  
  102.  */    
  103. public class JsonDateSerializer extends JsonSerializer<Date> {    
  104.     private static DateFormat dateFormat = new SimpleDateFormat(    
  105.             "yyyy-MM-dd HH:mm:ss");    
  106.     
  107.         
  108.     public void serialize(Date date, JsonGenerator gen, SerializerProvider provider)    
  109.             throws IOException, JsonProcessingException {    
  110.         gen.writeString(dateFormat.format(date));    
  111.     }    
  112. }   
原文地址:https://www.cnblogs.com/huangf714/p/5863869.html