`

三级联动

    博客分类:
  • web
阅读更多
 

 

1、页面信息

 

#if($!showSwitch == "testFirst")
		                        <div class="form-group mno">
								    <label for="projectLineId" class="col-sm-1 control-label" style="text-align:left;">研发部</label>
								    <div class="col-sm-3" >
								    	<select class="form-control" id="projectDept" name="" style="width:275px;" onchange="setSystem()">
									  		#foreach($projectDept in $projectDepts )
												<option #if($project.projectLineId  == $projectDept.id) selected="selected" #end value="$projectDept.code" >$projectDept.name</option>
											#end
										</select>
								    </div>
							  	</div>
		                        <div class="form-group mno">
								    <label for="projectLineId" class="col-sm-1 control-label" style="text-align:left;">选择系统</label>
								    <span style="color:red;margin-left:-5px;">*</span>
								    <div class="col-sm-3" >
								    	<select class="form-control" id="system"  onchange="setComponent();" name="system"  style="width:275px;">
								    		<option  value="" >请选择</option>
								    		#foreach($system in $systems )
												<option  value="$!system.systemId" >$!system.system</option>
											#end	
										</select>
										<span style="color:red;display: none;float: left" id="showSystemMessage">上面的部门没有对应的系统</span>
								    </div>
							  	</div>
							  	<div class="form-group mno">
								    <label for="projectLineId" class="col-sm-1 control-label" style="text-align:left;">选择应用</label>
								    <span style="color:red;margin-left:-5px;">*</span>
								    <div class="col-sm-3" >
								    	<select class="form-control" id="component" name="component" style="width:275px;" onchange="setComponentUser()"> 
												<option  value="$!systemApp.appId" >$!systemApp.appName</option>
										</select>
										<span style="color:red;display: none;float: left;" id="showComponentMessage">上面的系统没有对应的应用</span>
								    </div>
							  	</div>
							  	<div class="form-group mno">
		                            <label for="inputPassword3" class="col-sm-1 control-label" style="text-align:left;">应用责任人</label>
		                            <div class="col-sm-3">
		                            	<input readonly="readonly" class="form-control" style="width:275px;" placeholder="请选择应用,不要自己填写" value=""  rows="5" id="componentUser" name="componentUser" />
		                            </div>
		                        </div>
		                    #end

 

2、ajax

 

//当【部门】变化时,设置与之对应的所有的【系统】的值
		function setSystem(){
			var deptCode = $("#projectDept").val();
			
			$.ajax({
			     type :'get',
			     url: "${appRoot}/system/getSystemAjax.do?deptCode="+deptCode,
			     async:false,
			     dataType: 'json',
			     success: function (packJson) {
			         $("#system").empty();
			         $("#component").empty();
			         $("#componentUser").val("");
			         $('<option value="">'+"请选择"+'</option>').appendTo($("#system"));
			         if(packJson.length == 0){
			        	 $("#showSystemMessage").show();
			         }else{
			        	 $("#showSystemMessage").hide();
			         }
			         for(var i = 0; i < packJson.length; i++){
						$('<option value="' + packJson[i].system_id + '">' + packJson[i].system + '</option>').appendTo($("#system"));
			        }
				 }
			});
		}
		
		//当【系统】变化时,设置所有的、对应的 【应用】
		function setComponent(){
			var systemId = $("#system").val();
			$.ajax({
			     type :'get',
			     url: "${appRoot}/component/getComponentAjax.do?systemId="+systemId,
			     async:false,
			     dataType: 'json',
			     success: function (packJson) {
			         $("#component").empty();
			         $("#componentUser").val("");
			         $('<option value="">'+"请选择"+'</option>').appendTo($("#component"));
			         if(packJson.length == 0){
			        	 $("#showComponentMessage").show();
			         }else{
			        	 $("#showComponentMessage").hide();
			         }
			         for(var i = 0; i < packJson.length; i++){
			        	 $('<option value="' + packJson[i].appId + '">' + packJson[i].appName + '</option>').appendTo($("#component"));
			        }
				 }
			});
		}
	
		//当【应用】变化时,设置对应的【应用负责人】  //要求:appName唯一
		function setComponentUser(){
			var appName = $("#component").val();
			$.ajax({
			     type :'get',
			     url: "${appRoot}/component/getComponentUserByAppName.do?appName="+appName,
			     async:false,
			     dataType: 'text',
			     success: function (data) {
			    	 $("#componentUser").val("");
			    	 $("#componentUser").val(data);
				 }
			});
		}
		

 

3、Controller

 

@RequestMapping(value = "/system/getSystemAjax.do",method = RequestMethod.GET)
	public void getSystemsByDeptCode(String deptCode,Model model,HttpServletResponse response) throws IOException{
		if (logger.isInfoEnabled()) {
			logger.info("getSystemsByDeptCode(Model model=" + model + ",String deptCode="+deptCode+") -  start ");
		}
		response.setContentType("application/json;charset=UTF-8"); 
		response.setCharacterEncoding("UTF-8"); 
		PrintWriter out = response.getWriter();
		if(deptCode.equals("0009") || deptCode.equals("0010")){
			deptCode = "0004";
		}
		List<PmpOnlineSystem> lists = onlineSystemBiz.findSystemsByDeptCode(deptCode);
		String responseStr = "[";
		boolean first = true;
		for(PmpOnlineSystem line:lists){
			if(first){
				first = false;
			} else {
				responseStr += ",";
			}
			responseStr += "{\"id\":\"" + line.getId() + "\","+"\"system\":\""+line.getSystem()+"\","+"\"system_id\":\""+line.getSystemId()+"\"}";
		}
		responseStr += "]";
		out.write(responseStr);
		
		if (logger.isInfoEnabled()) {
			logger.info("getComponentsBySystemId(Model model=" + model
					+ ") -  end  - return value=line_create");
		}
	}

 

 

@RequestMapping(value = "/component/getComponentAjax.do",method = RequestMethod.GET)
	public void getComponentsBySystemId(Integer systemId,Model model,HttpServletResponse response) throws IOException{
		if (logger.isInfoEnabled()) {
			logger.info("getComponentsBySystemId(Model model=" + model +",Integer systemId="+systemId+ 
					", HttpServletResponse response="+response+") -  start ");
		}
		response.setContentType("application/json;charset=UTF-8"); 
		response.setCharacterEncoding("UTF-8"); 
		PrintWriter out = response.getWriter();
		
		List<PmpSystemApp> lists = systemAppBiz.findComponentsBySystemId(systemId);
		String responseStr = "[";
		boolean first = true;
		for(PmpSystemApp line:lists){
			if(first){
				first = false;
			} else {
				responseStr += ",";
			}
			responseStr += "{\"appName\":\"" + line.getAppName() + "\","+"\"componentUser\":\""+line.getAppPerson()+"\","+"\"appId\":\"" + line.getAppId()+"\"}";
		}
		responseStr += "]";
		out.write(responseStr);
		
		if (logger.isInfoEnabled()) {
			logger.info("getComponentsBySystemId(Model model=" + model +",Integer systemId="+systemId+ 
					", HttpServletResponse response="+response+") -  end ");
		}
	}
	

 

 

@RequestMapping(value = "/component/getComponentUserByAppName.do",method = RequestMethod.GET)
	public void getComponentUserByAppName(String appName,Model model,HttpServletResponse response) throws IOException{
		if (logger.isInfoEnabled()) {
			logger.info("getComponentUserByAppName(Model model=" + model + ",String appName="+appName+
					",HttpServletResponse response="+response+") -  start ");
		}
		response.setContentType("application/json;charset=UTF-8"); 
		response.setCharacterEncoding("UTF-8"); 
		PrintWriter out = response.getWriter();
		
		String compUser = systemAppBiz.findComponentUserByAppName(appName);
		if(compUser!=null){
			out.write(compUser);
		}else{
			out.write("");
		}
		
		if (logger.isInfoEnabled()) {
			logger.info("getComponentUserByAppName(Model model=" + model + ",String appName="+appName+
					",HttpServletResponse response="+response+") -  end ");
		}
	}

 

 

 

分享到:
评论

相关推荐

    【2020年05月更新,官网实时更新】省市区三级联动/中国省市区地址三级联动/全国省市区三级联动数据下载

    提供目前中国全部行政区域的省(市/自治区)、市(区/自治州)、区(县/市)三级联动最新数据,可以用于各类应用开发。2019年10月31日,我公司(www.ebaitian.cn)决定将中国最新的行政区划数据向社会公众共享,以...

    三级联动源码

    在IT领域,"三级联动"通常指的是在网页或应用程序中的一种交互设计,它涉及到三个层次的数据关联和选择。这种设计常见于下拉菜单或者地区选择等场景,例如省-市-区的选择,用户在选择一个省份后,下一级的市会根据...

    一个最简单的三级联动代码

    在IT行业中,三级联动是一种常见的交互设计模式,尤其在数据筛选和导航系统中十分常见。这个"一个最简单的三级联动代码"示例可能是用来帮助开发者理解如何实现这种功能的。下面我们将深入探讨三级联动的基本概念、...

    RecyclerView三级联动

    在Android开发中,"RecyclerView三级联动"是一种常见的交互设计,尤其在展示层级关系的数据时,如商品分类、地区选择等场景。RecyclerView作为Android系统提供的一个高效、可复用的列表视图,能够处理大量数据并提供...

    三级联动效果

    在网页设计和开发中,"三级联动效果"是一种常见的交互设计模式,特别是在处理地理区域选择、类别筛选等场景。这种效果通常涉及到三个下拉选择框,它们之间存在依赖关系:第一个下拉框的选择会影响第二个下拉框的内容...

    ASP三级联动下拉菜单

    ASP三级联动下拉菜单 ASP三级联动下拉菜单是指在ASP编程中实现三级联动的下拉菜单,通过调用数据库数据来实现三级分类的联动效果。这种技术广泛应用于各种Web应用程序中,例如电商平台、在线论坛等。 在这个例子中...

    jsp+ajax 三级联动菜单

    【jsp+ajax 三级联动菜单】是一个典型的Web开发技术应用场景,它主要利用JavaServer Pages(JSP)和Asynchronous JavaScript and XML(AJAX)来实现动态网页中的数据交互和页面更新。在这个例子中,我们看到的是一个...

    微信小程序-省市县三级联动,带有自定义地区码(源代码+截图)

    微信小程序-省市县三级联动,带有自定义地区码(源代码+截图)微信小程序-省市县三级联动,带有自定义地区码(源代码+截图)微信小程序-省市县三级联动,带有自定义地区码(源代码+截图)微信小程序-省市县三级联动,带有...

    asp二级联动下拉框,三级联动下拉框

    在ASP中,二级联动和三级联动下拉框是常见的功能,通常用于实现数据的筛选和过滤,例如在地区选择、商品分类等场景。下面将详细讲解如何在ASP中实现这些功能。 ### 二级联动下拉框 二级联动下拉框是指两个下拉框...

    移动端、h5省市区三级联动

    在移动端和H5开发中,省市区三级联动是一种常见的功能需求,主要用于地址选择,提供用户一个方便快捷的方式来选择他们的详细地址。本示例提供了一款适用于这两种平台的三级联动组件,下面将详细介绍这个功能及其实现...

    js+jsp三级联动 源码

    在IT行业中,"js+jsp三级联动 源码"是一个常见的前端与后端交互的实践案例,主要用于实现用户界面的动态筛选和过滤。这里,我们主要探讨的是使用JavaScript(js)和JavaServer Pages(jsp)来创建一个具有三级联动...

    JS插件 ---- pc端三级联动的demo

    在网页开发中,"三级联动"是一种常见的交互设计,尤其在构建导航菜单、地区选择、商品分类等场景中广泛使用。这种设计涉及到JavaScript(JS)技术,通过JS插件实现,使得用户在选择某一选项时,其他关联的下拉菜单会...

    Android省市区三级联动滚轮选择——Cascade_Master

    "Android省市区三级联动滚轮选择——Cascade_Master"是一个专门为解决这一问题而设计的组件。这个组件是从实际项目中提炼出来的,旨在提供一个高效、直观且易于集成的解决方案。 该组件是基于开源库`Android-wheel`...

    世界城市三级联动(中英文)插件

    《世界城市三级联动(中英文)插件》是一款专门用于网页中实现城市选择功能的JavaScript插件。这个插件的特点在于其提供了三级联动的效果,即国家-省份-城市的选择,同时支持中文和英文两种语言,使得全球用户都能...

    Ajax JavaWeb JS 三级联动

    在Web开发中,"Ajax JavaWeb JS 三级联动"是一个常见的功能需求,它涉及到前端JavaScript技术、后端JavaWeb服务以及Ajax异步通信。这个功能主要用于创建交互性强的下拉菜单,通常用于地区选择、商品分类等场景,用户...

    android 高仿京东,美团网三级联动

    在Android开发中,实现类似京东、美团这样的三级联动菜单是一项挑战性的任务,它涉及到复杂的UI交互和数据层次结构的管理。这个项目通过双ListView成功地实现了这一功能,并且具有90%的相似度,这对于开发者来说是一...

    测试三级联动

    在IT领域,"三级联动"通常指的是在前端交互设计中,一种常见的下拉选择框的联动效果。这种效果常用于地址选择,用户首先选择省份,接着根据省份的选择更新市的选项,最后根据市的选择更新区的选项,全程无需刷新页面...

    简单的asp三级联动

    在本案例中,"简单的asp三级联动"是指利用ASP技术实现的三级菜单联动效果,通常用于网站的分类导航,例如产品分类、地区选择等。这种联动意味着当用户在一个级别上选择一个选项时,下一级别的选项会根据所选内容动态...

    WPF三级联动-源代码

    **WPF三级联动**是一种常见的用户界面设计技术,主要用于实现数据的多级关联与筛选,常见于例如省市区选择、商品分类筛选等场景。在Windows Presentation Foundation (WPF) 中,这种联动效果可以通过数据绑定、控件...

    三级联动全国最全

    在IT行业中,"三级联动"通常指的是在用户界面设计中的一种交互模式,特别是在表单填写或数据筛选时,常见的如省市区选择。这种联动机制允许用户先选择一级区域(如省份),接着二级区域(如城市)会根据一级的选择...

Global site tag (gtag.js) - Google Analytics