function StringBuffer() { this.__strings__=new Array; } StringBuffer.prototype.append=function(str){ this.__strings__.push(str); }; StringBuffer.prototype.toString=function(){ return this.__strings__.join(""); }; String.prototype.startWith=function(str){ var reg=new RegExp("^"+str); return reg.test(this); }; String.prototype.endWith=function(str){ var reg=new RegExp(str+"$"); return reg.test(this); }; function HashMap(){ //定义长度 var length = 0; //创建一个对象 var obj = new Object(); /** * 判断Map是否为空 */ this.isEmpty = function(){ return length == 0; }; /** * 判断对象中是否包含给定Key */ this.containsKey=function(key){ return (key in obj); }; /** * 判断对象中是否包含给定的Value */ this.containsValue=function(value){ for(var key in obj){ if(obj[key] == value){ return true; } } return false; }; /** *向map中添加数据 */ this.put=function(key,value){ if(!this.containsKey(key)){ length++; } obj[key] = value; }; /** * 根据给定的Key获得Value */ this.get=function(key){ return this.containsKey(key)?obj[key]:null; }; /** * 根据给定的Key删除一个值 */ this.remove=function(key){ if(this.containsKey(key)&&(delete obj[key])){ length--; } }; /** * 获得Map中的所有Value */ this.values=function(){ var _values= new Array(); for(var key in obj){ _values.push(obj[key]); } return _values; }; /** * 获得Map中的所有Key */ this.keySet=function(){ var _keys = new Array(); for(var key in obj){ _keys.push(key); } return _keys; }; /** * 获得Map的长度 */ this.size = function(){ return length; }; /** * 清空Map */ this.clear = function(){ length = 0; obj = new Object(); }; } /** * 设置SELECT的选项 * @param ctrlid * @param data */ function add_select_option(id,options){ var form=layui.form(); $("#"+id).html(options); form.render("select"); } function addOptionToSelect(id,text,value){ alert("方法暂未实现。。。"); } /** * 得到SELECT选项的值 * @param id */ function getCurrentSelectValue(id){ var val_value=""; $("#"+id).children("option").each(function(){ if($(this).prop("selected")||$(this).attr("selected")=="selected"){ val_value=$(this).val(); return false; } }); if(val_value==null||val_value=="undefined"){ val_value=""; } return val_value; } /** * 得到SELECT选项的文本 * @param id */ function getCurrentSelectText(id){ var val_text=""; $("#"+id).children("option").each(function(){ if($(this).prop("selected")||$(this).attr("selected")=="selected"){ val_text=$(this).text(); return false; } }); if(val_text==null||val_text=="undefined"){ val_text=""; } return val_text; } /** * 清空SELECT的选项 * @param id */ function clearSelect(id){ var form=layui.form(); $("#"+id).html(""); form.render("select"); } /** * * @param id * @param val * @param text */ function selectItemByValue(id,val,text){ //0、设置select的值 $("#"+id).attr("value",val); //0.1把select下的option的selected换成现在的 $("#"+id).children("option").each(function(){ if($(this).val()==val){ $(this).attr("selected","selected"); }else{ if($(this).attr("selected")=="selected"){ $(this).removeAttr("selected"); } } }); //1、首先设置输框 $("#"+id).siblings("div[class='layui-unselect layui-form-select']").children("div[class='layui-select-title']").children("input").val(text); //2、其次,设置dl下的dd $("#"+id).siblings("div[class='layui-unselect layui-form-select']").children("dl").children("dd").each(function(){ if ($(this).text()==text){ if(!$(this).hasClass("layui-this")){ $(this).addClass("layui-this"); $(this).click(); } return true; }else{ if($(this).hasClass("layui-this")){ $(this).removeClass("layui-this"); } } }); } /** * 设置RADIO的值 * @param id * @param val */ function checkedRadioByValue(id,val){ $("[name="+id+"]").each(function(){ if($(this).val()==val){ try{ $(this).attr("checked",true); }catch(e){ $(this).prop("checked",true); } } }); } function getRadioValue(name){ var tempval=$("input[name="+name+"]:checked").val(); return tempval; } function setRadioReadOnly(id){ $("[name="+id+"]").each(function(){ try{ $(this).attr("disabled",true); }catch(e){ $(this).prop("disabled",true); } }); } /** * 将JS数组转换成以FLAG连接的字符串 * @param arr * @param flag * @returns {String} */ function convertArrayToString(arr,flag){ var arrlen=arr==null||arr=="undefined"?0:arr.length; var rvalue=""; if(flag==null||flag==""||flag=="undefined"){ flag=","; } for(var i=0;i0){ for(var i=0;i0){ for(var i=0;i0){ for(var i=0;i0){ for(var i=0;i0&&obj[i].checked){ if(obj[i-1].checked){ continue; } if(obj[i].checked){ var $tr=$(obj[i]).parents("tr"); if($tr.index()!=0){ //$tr.fadeOut().fadeIn(); $tr.prev().before($tr);//上移 }; } } } }else{ for(var i=len-1;i>=0;i--){ if(i==len-1&&obj[i].checked){//下移最后一行不处理 continue; } if(i0){ str+=","; } str+="\""+element.name+"\":\""+element.value+"\""; tempindex++; } str+="}"; return str; } /** * 将表单控件值转换成JSON字符串 * @returns {String} */ function getFormCtrlValuesToJSONString(parmnames){ var form=document.forms[0]; var elements=form.elements; var tempindex=0; var ctrls=""; var str="{"; if(parmnames!=null&&parmnames.length>0){ ctrls=parmnames; }else{ for(var i=0;i0){ ctrls+=","; } ctrls+=element.name; tempindex++; } } } var ctrlarray=ctrls.split(","); var ctrlarraylen=ctrlarray==null?0:ctrlarray.length; for(var i=0;i0){ str+=","; } if(getStrLen(tempval)>0){ if((tempval.indexOf("[{")!=-1&&tempval.indexOf("}]")!=-1)||tempval=="\"\""){ str+="\""+ctrlname+"\":"+tempval+""; }else{ str+="\""+ctrlname+"\":\""+tempval+"\""; } }else{ str+="\""+ctrlname+"\":\"\""; } }else{ var tempstr=""; for(var j=0;j0){ tempstr+=","+tempval; }else{ tempstr=tempval; } } } if(i>0){ str+=","; } str+="\""+ctrlname+"\":\""+tempstr+"\""; } } str+="}"; return str; } /** * * @param tabid * @param parmnames * @returns */ function getFormCtrlValuesToJSONArray(tabid,parmnames){ //var form=document.forms[0]; //var elements=form.elements; var tempindex=0; var rowscount=0; var ctrls=new StringBuffer(); var hashmap=new HashMap(); if(parmnames!=null&&parmnames.length>0){ ctrls.append(parmnames); $("#"+tabid).find(":input,select").each(function(){ var elementname=$(this).attr("name"); if(elementname==null||elementname=="undefined"||elementname==""||ctrls.toString().indexOf(elementname)==-1){ //return false; }else{ if(ctrls.toString().startWith(elementname)){ rowscount++; } } }); }else{ $("#"+tabid).find(":input,select").each(function(){ var elementname=$(this).attr("name"); if(elementname==null||elementname=="undefined"||elementname==""){ //return false; }else{ if(ctrls.toString().indexOf(elementname)==-1){ if(tempindex>0){ ctrls.append(","); } ctrls.append(elementname); tempindex++; } } }); if($("#"+tabid)){ rowscount=$("#"+tabid+" tr").length; } } var jsonstringbuffer=new StringBuffer(); var ctrlarray=ctrls.toString().split(","); var ctrlarraylen=ctrlarray==null?0:ctrlarray.length; if(true){ var tempindex=0; var tempcountkey=null; var ctrlnames=ctrls.toString(); $("#"+tabid).find(":input,select").each(function(){ var elementname=$(this).attr("name"); if(ctrlnames.indexOf(elementname)!=-1){ if(tempcountkey==null){ tempcountkey=elementname; }else if(tempcountkey==elementname){ tempindex++; } var key=elementname+"."+tempindex; var value=$(this).val(); hashmap.put(key,value); hashmap.put(elementname,tempindex); } }); } if(rowscount>0&&ctrlarraylen>0){ jsonstringbuffer.append("["); for(var i=0;i0){ jsonstringbuffer.append(","); } jsonstringbuffer.append("{"); for(var j=0;j0){ jsonstringbuffer.append(","); } jsonstringbuffer.append("\""+tempctrlname+"\":\""+tempctrlvalue+"\""); /** var tempctrlarray=document.getElementsByName(tempctrlname); if(tempctrlarray){ var tempctrlobj=tempctrlarray[i]; if(tempctrlobj){ tempctrlvalue=tempctrlobj.value; if(j>0){ jsonstringbuffer.append(","); } jsonstringbuffer.append("\""+tempctrlname+"\":\""+tempctrlvalue+"\""); } } */ } jsonstringbuffer.append("}"); } jsonstringbuffer.append("]"); }else{ jsonstringbuffer.append("\"\""); } return jsonstringbuffer.toString(); } /** * 得到字符串长度 * @param str * @returns {Number} */ function getStrLen(str){ var i; var len=0; if(str==null||str=="undefined"||str==""){ return len; } for(i=0;i255){ len+=2; }else{ len++; } } return len; } function getAjaxParseValue(formulaval){ var tempVal=""; if(getStrLen(formulaval)>0){ DWREngine.setAsync(false); UtilAjax.getParseValueAjax(formulaval,function callBack(ref){ if(ref!=null){ tempVal=ref; } }); DWREngine.setAsync(true); } return tempVal; } function log(str){ var formulaval="new com.eia.ajax.EiaDataAjax().get_log_debug(\""+str+"\")"; var revalstr=getAjaxParseValue(formulaval); } /** * 光标处插入内容 */ function insertContent(obj,str,index_start,index_end){ if(str==null||str=="undefined"){ str=""; } if(document.selection){ var pre=obj.value.substr(0,index_start); var post=obj.value.substr(index_end); var str_index=str.length; obj.value=pre+str+post; try{ var r=obj.createTextRange(); r.moveStart('character',index_start+str_index); r.collapse(true); r.select(); }catch(e){ } obj.focus(); }else if(obj.selectionStart||obj.selectionStart=='0'){ obj.value=obj.value.substring(0,index_start)+str+obj.value.substring(index_end,obj.value.length); obj.selectionStart=index_start; obj.selectionEnd=index_start+str.length; }else{ obj.value+=str; } } function getFileExtName(fileName){ return fileName.replace(/.+\./,""); } function getFileName(filePath){ var _filename=""; if(getStrLen(filePath)==0){ return _filename; }else{ var lastindex=filePath.lastIndexOf("\\"); _filename=filePath.substring(lastindex+1); } return _filename; } function getFileNameNotExt(filePath){ var _filename=getFileName(filePath); if(getStrLen(_filename)==0){ return ""; }else{ var lastindex=_filename.lastIndexOf("."); _filename=_filename.substring(0,lastindex); } return _filename; } function getHttpFileName(url){ var _filename=""; try{ url=encodeURI(url); }catch(e){ } if(url==null||url.length==0){ return _filename; }else{ var lastindex=url.lastIndexOf("/"); _filename=url.substring(lastindex+1); } if(_filename.indexOf("?")!=-1){ var tempArr=_filename.split("?"); var tempArrLen=tempArr==null?0:tempArr.length; if(tempArrLen>0){ _filename=tempArr[0]; } } return _filename; } function getHttpFileExtName(url){ return getHttpFileName(url).replace(/.+\./,""); } function getHttpFileNameNotExt(url){ var _filename=getHttpFileName(url); if(getStrLen(_filename)==0){ return ""; }else{ var lastindex=_filename.lastIndexOf("."); _filename=_filename.substring(0,lastindex); } return _filename; } function changeElementDisplay(elementid,displayType){ var tobj=document.getElementById(elementid); if(tobj){ if(displayType==true||displayType=="true"){ tobj.style.display=""; }else if(displayType==false||displayType=="false"){ tobj.style.display="none"; }else if(displayType==""||displayType=="none"){ tobj.style.display=displayType; } } return true; } function changeButtonDisabled(obj,className,displayType){ if(displayType){ obj.attr("disabled",true); obj.attr("class",className+" layui-btn-disabled"); }else{ obj.attr("disabled",false); obj.attr("class",className); } }