JS实现级联查询

在ITOO中,我们用到了级联查询:根据建筑类型查询建筑,再根据建筑id查询建筑下的所有教室。这个类似于省,市,县的查询。这里说一下具体的方法。

//----------加载建筑类型  --王孟梅-------start-2016年8月15日15:19:19-v5.0
$('#buildTypeName').combobox(
	{
		url : 'queryBuildingType',
		editable : false, // 不可编辑状态
		cache : false,
		panelHeight : '150',// 自动高度适合
		valueField : 'buildingTypeId',
		textField : 'buildingTypeName',
		onLoadSuccess:function(data){
		     if(data.length==0){
			$.messager.alert("系统提示","当前没有可选的建筑类型,请联系管理员!","warning");
			} else{
				var data1 =$('#buildTypeName').combobox('getData');
				if(data1 != null){
				   //设置默认的建筑类型
				  $("#buildTypeName").combobox('select',data1[0].buildingTypeId);

				 $.get('queryBuildByType',{
					"buildingTypeId":data1[0].buildingTypeId},function(result){
				if(result.length==0){
				  $.messager.alert("系统提示", "当前没有可选的教学楼信息,请联系管理员!", "warning");
				}else{
					buildId=result[0].buildId;
					$("buildName").combobox("loadData",result);
					$("buildName").combobox("select",result[0].buildId);
					}
										
				$.get('queryRoomByBuildId',{
					"buildId" :buildId},function(roomdata){
					if(roomdata.length==0){
					$.messager.alert("系统提示", "当前没有可选的教室信息,请联系管理员!", "warning");
					}else{
						roomId=roomdata[0].roomId;
						$("#roomName").combobox("loadData", roomdata);
						$("#roomName").combobox("select", roomdata[0].roomId);
						}
					})
								
					});
									
				}
								
				}
			},
					
				//点击建筑类型时
				onSelect:function(data){
				$("#buildName").combobox('clear');// 清空建筑
				$("#roomName").combobox('clear');// 清空教室
				var buildTypeId = data.buildingTypeId;
				$.ajax({
					type:"POST", 
					url:'queryBuildByType?buildingTypeId=' +buildTypeId,
					cache:false,
					dataType:"json",
					success:function(buliddata){
					if(buliddata !=null){
					   $("#buildName").combobox("loadData",buliddata);
					   $("#buildName").combobox("select",buliddata[0].buildId);
						}else{
						  $("#buildName").combobox("loadData", '');
						  $("#roomName").combobox("loadData", '');
						  $.messager.alert('系统提示','没有查询到教学楼信息!');
							}
						}
						
					})
								
				}	
			});			
//----------加载建筑类型  --王孟梅-------end-2016年8月15日15:19:19-v5.0
			
			
//----------加载建筑名称  --王孟梅-------start-2016年8月15日15:19:19-v5.0
	$('#buildName').combobox(
	{
		valueField : 'buildId',
		textField : 'buildName',
		
		onSelect:function(data){
			$("#roomName").combobox("setValue", '');// 清空教室
			
			//获取教室id
			var buildId1 = data.buildId;
			$.ajax({
				type:"POST",
				url:'queryRoomByBuildId?buildId='+buildId1,
				cache:false,
				dataType:"json",
				success:function(data){
					if(data!=null){
						$("#roomName").combobox("loadData", data);
						$("#roomName").combobox("select",data[0].roomId);
					}else{
						$("#roomName").combobox("loadData", '');
						$.messager.alert('系统提示','没有查询到教室信息!');
					}
				}
			});
		}
		});
	$('#roomName').combobox({
		valueField : 'roomId',
		textField : 'roomName',
			
	});
//----------加载名称类型  --王孟梅-------end-2016年8月15日15:19:19-v5.0


  细细看起来,代码还是非常简单的。后台方法就不罗列了。

  发现前台也很简单,只不过我们的代码量还是不够多,所以遇到问题难免会不知所措。所以,大家多多经历,多多积累吧!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 30
    评论
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值