复选框回显、全选、非全选、cookie处理数据、json数组对象转换处理学习笔记

2018.9.5:复选框回显、全选、非全选、cookie处理、json数组对象转换处理学习笔记

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page contentType="text/html; charset=UTF-8"%>
<%@include file="/common/head.jsp"%> 
<html xmlns="http://www.w3.org/1999/xhtml">
<%@ include file="/common/common.jsp"%>
  <head>
    <title>兴业银行二手房项目查询</title>
    <script type="text/javascript">
	function showprojinfo(projid){
		var url="<s:url value="/common/projOperFrame!projectDetail.action"/>?projid="+projid;
		winOpen(url,'1100','800');
	}
	
	$(document).ready( function() 
	{
		// 去掉所有input的autocomplete, 显示指定的除外 
	    $('input:not([autocomplete]),textarea:not([autocomplete]),select:not([autocomplete])').attr('autocomplete', 'off'); 
			var count = <s:property value="result.count"/>;
	        if(count<=0){
	        	$("#excelExport").hide();
	        }
	        $("#excelExport").click(function()	   
		     {
	        	var canExport = $("#canExport").val();
	        	if(canExport == false){
	        		$.messager.alert('提示信息','当前查询结果没有数据,不能进行导出!', 'warning');
	        	}
	        	$("#isExport").val("true");
		        $("#projectQuery").attr("action",'<s:url value="/secHandHouseBatchManager/querySecHandHouseProList.action"/>');
		        $("#projectQuery").submit();
		        $("#isExport").val("false");
		        $("#projectQuery").attr("action",'<s:url value="/secHandHouseBatchManager/querySecHandHouseProList.action"/>');	       
		     })
		     $("#query").click(function()	   
		     {
		    	$("#start").val(0);
		        $("#projectQuery").attr("action",'<s:url value="/secHandHouseBatchManager/querySecHandHouseProList.action"/>');
		        $("#projectQuery").submit();	       
		     })		
		     $('#projectQuery').submit( function () { 

			    var applyProjids = getCookie("applyProjids");
		    	var paramforms = JSON.parse(applyProjids);

		    	//如果查出来的paramforms为null,则new 一个对象 
		    	if (null==paramforms) {
		    		paramforms=new Array();
				}
		 		if ($(":checkbox:checked").length == 0) {
		                
		        }else {
	                $(":checkbox:checked").each(
	                function() {
	                    var strs = new Array();
	                    strs = $(this).val().split(",");
	                    var projid = strs[0];
	                    var compserialid = strs[1];
	                    var projcode = strs[2];
	                    var projname = strs[3];
	                    var busstype = strs[4];
	                    var assuremoney = strs[5];
	                    var customername = strs[6];

	                    paramforms.push({
	                 	   projid: projid 
	                    });
	                });
		         }
		         //去重处理
		    	 paramforms=unique(paramforms);

		         //设置cookie失效时间为1小时后
		    	 setCookie("applyProjids",JSON.stringify(paramforms),60*60*1000);
		    	 
		    	 trimForm(document.getElementById('projectQuery'));
	             return $(this).form('validate');
	        });	

	        //当页面加载完成的时候,自动调用该方法
	     	window.onload=function(){
	     		var applyProjids = getCookie("applyProjids");
	     		var checkArray =JSON.parse(applyProjids);
	     		//获得所有的复选框对象
	     		var checkBoxAll = $("input[name='templateID']");
	     		if (null!=checkArray && null!=checkArray.length) {
		     		//获得所有复选框(新闻,微信,论坛,问答,博客,平媒)的value值,然后,用checkArray中的值和他们比较,如果有,则说明该复选框被选中
		     		for(var i=0;i<checkArray.length;i++){
		     			//获取所有复选框对象的value属性,然后,用checkArray[i]和他们匹配,如果有,则说明他应被选中
		     			$.each(checkBoxAll,function(j,checkbox){
		     				//获取复选框的value属性
		     				var checkValue=$(checkbox).val();
		     				checkValue=parseInt(checkValue);
			     			var pr=parseInt(checkArray[i].projid);
		     				if(pr == checkValue){
		     					$(checkbox).attr("checked",true);
		     				}
		     			})
		     		}
				}
	     	};
	});

	//json数组去重
	function unique(list) {
 	   var arr = [];
 	   if (null!=list) {
	 	   for (var i = 0; i < list.length; i++) {
	 	     if (i == 0) arr.push(list[i]);
	 	     b = false;
	 	     if (arr.length > 0 && i > 0) {
	 	       for (var j = 0; j < arr.length; j++) {
	 	         if (arr[j].projid == list[i].projid) {
	 	           b = true;
	 	           //break;
	 	         }
	 	       }
	 	       if (!b) {
	 	         arr.push(list[i]);
	 	       }
	 	     }
	 	   }
	   }
 	   return arr;
 	}

	
	function moreQuery(btn)
	{
		var flag = btn.getAttribute("flag");
		if(flag == 1)
		{
			$("[name=morecond]").each(
				function (){
					this.style.display="";
				}
			);
			$("#queryModel").attr("value",2);
			btn.setAttribute("flag",2);
			btn.setAttribute("value","基本筛选");
		}else if(flag == 2)
		{
			$("[name=morecond]").each(
				function (){
					this.style.display="none";
				}
			);
			$("#queryModel").attr("value",1);
			btn.setAttribute("flag",1);
			btn.setAttribute("value","高级筛选");
		}
	}
	
	function clearForm(objE){
        $(objE).find(':input').each(  
            function(){  
                switch(this.type){  
                    case 'text':
                    	if($(this).attr("keep") != 'true')$(this).val('');
                    	break;
                    case 'hidden':
                    	if($(this).attr("keep") != 'true')$(this).val('');
                    	break;
                    case 'button': break;
                }  
            }     
        );  
        $(objE).find('select option:selected').attr("selected",false);
	}  

	//全选
	function selectAll(){
	    var ids = document.getElementsByName("templateID"); 
	    for(var i=0;i<ids.length;i++){
	        ids[i].checked=true;
	    }
	}
	//全不
	function selectNone(){
	    var ids = document.getElementsByName("templateID"); 
	    for(var i=0;i<ids.length;i++){
	        ids[i].checked=false;
	    }
	}
	//反选
	function selectInvert(){
	    var ids = document.getElementsByName("templateID");
	    for(var i=0;i<ids.length;i++){
	        if(ids[i].checked)
	            ids[i].checked=false ;
	        else
	            ids[i].checked=true ;
	    }
	}

	function toaddXyBankPro(){
		var toaddXyBankProUrl="<s:url value='/secondhandhous/projectSecondHandHousPage!processPage.action'/>?page=xyBank&isxyyhapply=true"
		winOpen(toaddXyBankProUrl,'1024','768');
	}

	function xyBankApply() {
		//从cookie中获取之前选中的项目Id的json字符串 
		var applyProjids = getCookie("applyProjids");

		//将json字符串转换成为json数组对象 
	    var paramforms = JSON.parse(applyProjids);

	    //如果查出来的paramforms为null,则new 一个对象 
	    if (null==paramforms) {
    		paramforms=new Array();
		}

		if ($(":checkbox:checked").length == 0) {
               $.messager.alert('提示信息', '请选择需要申请的项目!', 'warning');
               return false;
        } else {
               $(":checkbox:checked").each(
               function() {
                   var projid = $(this).val();
                   paramforms.push({
                	   projid: projid 
                   });
               });
        }

		//去重处理
   	 	paramforms=unique(paramforms);
   	
		window.top.loaderMask.show();
        //提交的时候设置cookie立即失效,之前的数据清除 
   	    setCookie("applyProjids",JSON.stringify(paramforms),-1);
		$("#apply").attr("action",'<s:url value="/secHandHouseBatchManager/sendHandHouseBatchApply.action"/>?applyProjids='+JSON.stringify(paramforms));
      	$("#apply").submit();
	}

	function isChecked(checkbox){
		//从cookie中获取之前选中的项目Id的json字符串 
		var applyProjids = getCookie("applyProjids");
		
		//将json字符串转换成为json数组对象 
	    var paramforms = JSON.parse(applyProjids);

	    //如果查出来的paramforms为null,则new 一个对象 
	    if (null==paramforms) {
    		paramforms=new Array();
		}
		
		if (checkbox.checked == true){
			paramforms.push({
         	   projid: $(checkbox).val()
            });
	    }else{
	    	paramforms.remove($(checkbox).val(),paramforms);
	    }

		//去重处理
   	    paramforms=unique(paramforms);

        //设置cookie失效时间为1小时后
   	    setCookie("applyProjids",JSON.stringify(paramforms),60*60*1000);
    }


	Array.prototype.indexOf = function (val,listdata) {
 	    if (null!=listdata) {
	 	   for (var i = 0; i < listdata.length; i++) {
 	           if (val == listdata[i].projid) {
 	        	  return i;
	 	     }
	 	   }
	    }
	    return -1;
	};

	Array.prototype.remove = function (val,listdata) {
	    var index = this.indexOf(val,listdata);
	    if (index > -1) {
	        this.splice(index, 1);
	    }
	};
	


	
	function getCookie(name) {
	    // (^| )name=([^;]*)(;|$),match[0]为与整个正则表达式匹配的字符串,match[i]为正则表达式捕获数组相匹配的数组;
	    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
	    if(arr != null) {
	        return unescape(arr[2]);
	    }
	    return null;
	}
	
	function setCookie(name,value,time) {
	  var exp  = new Date();    //new Date("December 31, 9998");
	  exp.setTime(exp.getTime() + time);
	  if((typeof value == "string")&&(value.length > 0)){
	      document.cookie = name + "="+ escape(value) + ";expires=" + exp.toGMTString();
	  }else{
	      var exp = new Date();
	      exp.setTime(exp.getTime() - 1);
	      var cval=getCookie(name);
	      if(cval!=null)
	          document.cookie=name +"="+cval+";expires="+exp.toGMTString();
	  }
	}
		
	</script>
  </head>
  <body>
   <div class="MainDiv">
   
   <div class="OperateTileDiv" ><span><h1>兴业银行二手房项目管理</span></div>
       <div class="contentDiv">
			<form id="projectQuery"  action="" method="get"/>
			    <input type="hidden" keep="true" id="isExport"  name="isExport" value="false"/>
				<input type="hidden" keep="true" id="start"  name="start" value="<s:property value="start"/>"/>
		  		<input type="hidden" keep="true" id="limit"  name="limit" value="<s:property value="limit"/>"/>
		        <input type="hidden" keep="true" id="topage" name="queryCnd.toPage" value="apply" />
		        <input type="hidden" keep="true" id="queryModel" name="queryCnd.queryModel" value="<s:property value="queryCnd.queryModel"/>" />
		        <input type="hidden" keep="true" name="queryCnd.projstage" value="<s:property value="%{queryCnd.projstage}"/>" />
		       
				<div class="QueryDiv">
				    <div class="navTitle">> 兴业银行二手房项目查询</div>
		     		 <div class="TableDiv">
						<table  cellspacing=1 border=0 class="tablestyle border1 " id="tbColor">
							<tr >
								<td class="td_left" >
									项目编号:
								</td>
								<td>
									<input type="text" name="queryCnd.projcode" style="width:180px" value="<s:property value="%{queryCnd.projcode}"/>"/>
								</td>
								<td class="td_left">
									银行名称:
								</td>
								<td>
								 	<input type="text" name="queryCnd.bankName" style="width:180px" value="<s:property value="%{queryCnd.bankName}"/>"/>				     				
								</td>
								<td class="td_left">
									客户名称:
								</td>
								<td>
								 	<input type="text" name="queryCnd.customername" style="width:180px" value="<s:property value="%{queryCnd.customername}"/>"/>				     				
								</td>
							</tr>
						</table>
						<br/>
						<div class="ButtonDiv" style="text-align:center"><input class="buttoncls" type="button" value=" 查 询 " id="query"/>  
							<input class="buttoncls" type="button" value=" 清 除 " id="clearBtn" onclick="clearForm(this.form)"/>
							  
							<s:bean name="com.vimtech.ac.domain.AcRole" id="adminPos">
		                      <s:param name="rolecode" value="'admin'"></s:param>
		                    </s:bean>
		                    
							<s:if test="#session.USERSESSION.info.roles.contains(#adminPos)">
								<input class="buttoncls" type="button" value=" 导出 " id="excelExport"/>
							</s:if>
							
						</div>
					</div>
				</div>
			</form>
				<div class="ResultDiv">
				    <div class="navTitle">> 项目查询列表</div>
		 			<div class="TableDiv">
						<table id="test1" cellspacing=1 border=0 class="tablestyle border1 changeColor blendedColor">
								<tr class="tr_title">
									<td >
										<a href="#" onclick="selectAll();">全选</a> 
					                    <a href="#" onclick="selectNone();">全不</a> 
					                    <a href="#" onclick="selectInvert();">反选</a>
									</td>
									<td >
										项目编号
									</td>
									<td >
										客户名称
									</td>
				                    <td >
										业务品种
									</td>
									
									<td >
										担保金额(万元)
									</td>
									<td >
										币种
									</td>
									<td >
										流转状态
									</td>
								</tr>
								<s:iterator var="role" value="result.list">
								<tr>
									    <td style="text-align: center">
											<input type="checkbox" name="templateID" value="<s:property value="projid"/>" onclick="isChecked(this)">
											<input type="hidden" name="compserialid" value="<s:property value="customerid"/>"/>					
										</td>	
										<td style="text-align: center">
											<a href="javascript:void(0)" onclick="showprojinfo('<s:property value="projid"/>')"><s:property value="projcode"/></a>
										</td>
										<td style="text-align: center">
											<s:property value="customername"/>
										</td>
										<td style="text-align: center">						
											<conf:config type="busstype" value="%{childbusstype}"/>
										</td>
										<td style="text-align: center">							
											<s:number name="assuremoney" groupingUsed="false"/>
										</td>
										<td style="text-align: center">						
											<dict:message dictTypeId="BMS_REGCURRID_TYPE" value="%{currency}"/>	
										</td>
										<td style="text-align: center">							
											<dict:message dictTypeId="FMS_SEC_PROJECT_STAGE" value="%{projstage}"/>
										</td>
									</tr>
								</s:iterator>
							</table>
							<br />
							
							<form id="apply" method="post" target="commentframe">
								<input type="hidden" name="flag" id="flag" value="true"/>
								<input type="hidden" id="backurl" name="success" value="<s:url value='/main.jsp'/>?time=2000"/>
							    <!-- 流程发起人评论参数设置 -->
								<input type="hidden" name="commentInfo.bussWfProcess.itemname" value="兴业银行二手房审批流程"/>
								<input type="hidden" name="commentInfo.bussWfProcess.handlername" value="<s:property value="result.data.userInfo.emp.empname"/>" />
								<input type="hidden" name="commentInfo.bussWfProcess.handlercode" value="<s:property value="result.data.userInfo.emp.empcode"/>" />
								<input type="hidden" name="commentInfo.bussWfProcess.projid" value="<s:property value="projid"/>" id="projid"/>
								<input type="hidden" name="commentInfo.bussWfProcess.objecttype" value="W0101222" />
								
								<!-- 用于初始化对象,不用再在后台处理了 -->
								<input type="hidden" name="sechandHouseBatchGuarantee.applyid" id="objectid" value="<s:property value="result.data.sechandHouseBatchGuarantee.applyid"/>"/>
							</form>
							
							<input type="button" class="buttoncls" value="新增项目"  onClick="toaddXyBankPro()">
							<input type="button" class="buttoncls" value="发起申请"  onClick="xyBankApply()">
							
							<br />
							<br />
						</div>
					</div>
				<div class="PageDiv" >
					<page:pagination count="%{result.count}" start="%{start}" limit="%{limit}" formId="projectQuery"></page:pagination>
				</div>
				<div id="showModalDailogWindows" class="easyui-window" collapsible="false" minimizable="false" maximizable="false" closed="true" title="窗口"  modal="true" style="width:600px;height:400px;overflow:hidden;">
				  <iframe scrolling="no" id="commentframe" name="commentframe" marginheight="0" marginwidth="0" style="width:580px;height:380px;overflow:hidden"  frameborder="0"></iframe>
			   </div> 
   </div>
   </div>
  </body>
</html>

  

posted @ 2018-09-13 15:41  xh_Blog  阅读(571)  评论(0编辑  收藏  举报