zoukankan      html  css  js  c++  java
  • 复选框回显、全选、非全选、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="180px" value="<s:property value="%{queryCnd.projcode}"/>"/>
    								</td>
    								<td class="td_left">
    									银行名称:
    								</td>
    								<td>
    								 	<input type="text" name="queryCnd.bankName" style="180px" value="<s:property value="%{queryCnd.bankName}"/>"/>				     				
    								</td>
    								<td class="td_left">
    									客户名称:
    								</td>
    								<td>
    								 	<input type="text" name="queryCnd.customername" style="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="600px;height:400px;overflow:hidden;">
    				  <iframe scrolling="no" id="commentframe" name="commentframe" marginheight="0" marginwidth="0" style="580px;height:380px;overflow:hidden"  frameborder="0"></iframe>
    			   </div> 
       </div>
       </div>
      </body>
    </html>
    

      

  • 相关阅读:
    数据预处理之数据可视化
    RESTful和JAX-RS
    Mac Security工具使用总结
    《Java核心技术卷一》笔记 多线程同步(底层实现)
    Java SSH库使用简介:Apache sshd和JSch(Java Secure Channel)
    maven资源文件的相关配置
    《Java核心技术卷一》笔记 多线程
    《Ant权威指南》笔记(一)
    《Java核心技术卷二》笔记(三)正则表达式
    《Java核心技术卷二》笔记(二)文件操作和内存映射文件
  • 原文地址:https://www.cnblogs.com/xh_Blog/p/9593865.html
Copyright © 2011-2022 走看看