ajax级联

界面:(使用onchange事件)

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>房间添加</title>
    <script type="text/javascript">
  	//查询项目
    $(document).ready(function(){
    	var projectnameList = document.querySelector("#projectname");
    	$.ajax({
	    	url:"../room/selectProject.do",
	        datatype:'json', 
	        //data:{'SearchSql':SearchSql}, // 发送数据   
	        error:function(data){  
	            alert("出错了!!");
	       	},  
	       	success:function(data){
	       		var projectName = data.projectList;
	       		for(var i=0;data.projectList.length;i++){
		 	    	var project = projectName[i].name;
		 	    	var projectOption = new Option(project);
		 	    	projectnameList.options.add(projectOption);
		       	}
	       	}
	     });
    });
    </script>
    <script type="text/javascript">
    //楼栋
    	function bbb(){
    		//获取下拉框
    		var complexnameList = document.querySelector("#complexname");
    		var unitnameList = document.querySelector("#unitname");
    		
    		var project= $("#projectname").val();
    		if(project!=""){
        		$.ajax({
        	    	url:"../room/selectComplex.do",
        	        datatype:'json',
        	        data:{
        	        	project :project
        	        },   
        	        error:function(data){  
        	            alert("出错了!!");
        	       },  
        	       success:function(data){
        	    	   var project = data.project;
        	    	  	if(project == "--请选择--"){
        	    		 //清空
        	    	  		complexnameList.options.length = 0;
        	    		   	unitnameList.options.length = 0;
        	    	   	}else{
        	    		 //清空
        	    		   	complexnameList.options.length = 0;
        	    		   	unitnameList.options.length = 0;
            	    	   	var complexName = data.complexsList;
            	    	   	var unitsName = data.unitsList;
        	    			for(var i=0;i<data.complexsList.length;i++){
                	    		   var complex = complexName[i].cnumber;
                	    		   var complexOption = new Option(complex);
                	    		   complexnameList.options.add(complexOption);
                	    	}
                	    	//默认加载第一个楼栋的单元
                 	    	for(var j=0;j<data.unitsList.length;j++){
                  	    		 var units = unitsName[j].number;
                  	    		 var unitsOption = new Option(units);
                  	    		unitnameList.options.add(unitsOption);
                  	    	}
        	    	  	}
        	       }
        	     });
        	   }
    	}
    </script>
    <script type="text/javascript">
    	//单元
    	function ccc(){
    		var unitnameList = document.querySelector("#unitname");
    		var complex = $("#complexname").val();
    		$.ajax({
    	    	url:"../room/selectUnits.do",
    	        datatype:'json', 
    	        data:{
    	        	complex:complex
    	        }, // 发送数据   
    	        error:function(data){  
    	            alert("出错了!!");
    	       	},  
    	       	success:function(data){
    	       		var unitsName = data.unitsList;
    	       		for(var i=0;data.unitsList.length;i++){
    		 	    	var units = unitsName[i].number;
    		 	    	var unitsOption = new Option(units);
    		 	    	unitnameList.options.add(unitsOption);
    		       	}
    	       	}
    	     });
    	}
    </script>
</head>
<body>
	<form method="post" action="addRoom.do" id="form1">
		<div id="divTwo">
			<table width="100%" border="0" cellpadding="2" cellspacing="2"
				class="table_list1">
				<tr id="selTwo">
					<td width="20%" class="table_list1_style1"><span
						style="color: Red">*</span> 所属项目</td>
					<td width="35%" class="table_list1_style2"> 
						<select name="projectname" id="projectname" tabindex="99" onchange="bbb()" style="width: 150px">
							<option value="--请选择--">--请选择--</option>
						</select>
					</td>
				</tr>
				<tr id="selTwo">
					<td width="20%" class="table_list1_style1"><span
						style="color: Red">*</span> 所属楼栋</td>
					<td width="35%" class="table_list1_style2"> 
						<select name="complexname" id="complexname" tabindex="99" onchange="ccc()" style="width: 150px">
							<option value=""></option>
						</select>
					</td>
				</tr>
				<tr id="selTwo">
					<td width="20%" class="table_list1_style1"><span
						style="color: Red">*</span> 所属单元</td>
					<td width="35%" class="table_list1_style2"> 
						<select name="unitname" id="unitname" tabindex="99" style="width: 150px">
							<option value=""></option>
						</select>
					</td>
				</tr>
				<tr id="isNone">
					<td class="table_list1_style1">&nbsp;</td>
					<td class="table_list1_style2"><input type="submit"
						name="btnUpdate" value="添加" id="btnUpdate" tabindex="1"
						class="button" /> &nbsp;&nbsp; 
						<input id="btnBack" type="button"
						class="button" value="关闭" onclick="close11()" /></td>
				</tr>
			</table>
		</div>
	</form>
</body>
</html>

controller:(@ResponseBody是ajax获取返回值必须的)

//查询项目
@RequestMapping("/selectProject.do")
@ResponseBody
public Map<String,Object> selectProject(){
	Map<String, Object> map = new HashMap<String, Object>();
	List<Project> list = projectService.selectList(null);
	map.put("projectList", list);
	return map;
}

//查询楼栋
@RequestMapping("/selectComplex.do")
@ResponseBody
public Map<String,Object> selectComplex(String project){
	Map<String, Object> map = new HashMap<String, Object>();
	if(!project.equals("--请选择--")){
		Complex complex = new Complex();
		complex.setProjectname(project);
		List<Complex> complexList = complexService.selectList(complex);
		//传递楼栋的集合
		map.put("complexsList", complexList);
		//默认加载第一个楼栋的单元
		Units units = new Units();
		units.setComplexname(complexList.get(0).getCnumber());
		List<Units> unitsList = unitsService.selectList(units);
		map.put("unitsList", unitsList);
	}else{
		map.put("project", project);
	}
	return map;
}

//查询单元
@RequestMapping("/selectUnits.do")
@ResponseBody
public Map<String,Object> selectUnits(String complex){
	Map<String, Object> map = new HashMap<String, Object>();
	Units units = new Units();
	units.setComplexname(complex);
	List<Units> list = unitsService.selectList(units);
	map.put("unitsList", list);
	return map;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值