js二级下拉菜单的关联

	$(function() {
		//查询地址列表
		selectAddr();
		//添加保存
		saveAddr();
	});
	//绑定添加收货地址
	$(".dzguanli_R").click(function() {
        
		 //设置编辑页面的标题
		$(".addreddEdti").text("新增收货地址");
	
		//给保存添加属性,用于辨别是添加还是更新
		$(".addsave").attr("data-dt", "1");
		//移除更新时添加data-id属性
		$(".addsave").removeAttr("data-id");
		//重置表单
		$("input").val("");
		$("textarea").val("");
		//显示添加页面
		$(".bcdizhi").show();
		$(".bjshdizhi").show();
		//加载省份和城市
		getProvince("1", "1");
	});

	//加载已有的地址
	function selectAddr() {
		//获取用户的id信息------------------------------------------------------------------------------参数替换-------------
		var id = consumerId;
		//发送ajax请求地址
		$
				.ajax({
					url : basePath + 'address/selectByUId.htm',
					dataType : 'json',
					type : 'post',
					//false表示同步,true表示异步
					async : false,
					data : {
						uId : id
					},
					success : function(data) {
						//参数 
						if (data && data != "") {
							if (data.result == 'success') {
								//获取地址的集合
								var addrList = data.addr;
								//拼写html
								var htmlStr = "";
								//遍历集合

								$
										.each(
												addrList,
												function(i, n) {
													//判断是否默认地址1为默认地址,0为普通地址
													if ("1" == n.defaultaddress) {
														htmlStr += '<div style="border: 1px solid #e21e1e; position: relative; background-color: #f8f8f8;" class="shren fl dizhiDIV">';
													} else {
														htmlStr += '<div style="position: relative;" class="shren fl dizhiDIV">';
													}
													htmlStr += '<div class="shren_1">'
																	+ '<span>'
																	+ n.cnee
																	+ '</span>'
																	+ '<span>'
																	+ n.phone
																	+ '</span>'
															+ '</div>'
															+ '<div style="padding-left: 30px; color: #666666; font-size: 15px;">'
																	+ '<p style="margin: 10px 0 10px 0;">'
																	+ n.province
																	+ " "
																	+ n.city
																	+ '</p>'
																	+ '<div style="padding-right: 56px;">'
																	+ n.address
																	+ '</div>'
															+ '</div>'
															+ '<div class="shren_2 clearfix addbainji">'
															+ '<span class="shren_2_1 fr shanchu" data-id="'+n.id+'">删除</span>';

													if ("1" == n.defaultaddress) {
														
														//默认地址的拼写
														htmlStr += '</div>'
																+ ' <div class="szmoren">设置默认地址</div>'
																+ ' <div class="szmoren_1 set-morendizhi">'
																+ '<img alt="" src="image/shezhimorendizhi.jpg">'
																+ ' </div></div>'
													} else {
								                        //普通地址的拼写
														htmlStr += '<span class="fr edit1" data-id="'+n.id+'">编辑</span>'
																+ '</div>'
																+ ' <div class="szmoren" data-id="'+n.id+'">设置默认地址</div>'
																+ '</div>';
													}
												});
								//把拼写的地址代码
								$(".zongdizhi").append(htmlStr);
								//删除绑定事件
								delAddr();
								//编辑事件
								edit();
								//设置默认地址
								defaultAddress();
								//省份和城市联动
								change()
							}
						}
					}
				});
	}
	//删除事件
	function delAddr() {
		$(".shanchu").click(function() {
			//获取点击地址的id
			var addrId = $(this).attr("data-id");
            
			if(confirm("确定要删除此地址吗?")){
				//删除地址(发送ajax请求)
				$.ajax({
					url : basePath + 'addressInfo/deleteAddressInfo.htm',
					dataType : 'json',
					type : 'post',
					data : {
						id : addrId
					},
					success : function(data) {
						if (null != data && data.result == "success") {
							
						}
					}
				});
				//删除地址的div
				$(this).parentsUntil(".dizhiDIV").parent().remove();
			}
		});
	}

	//编辑事件
	function edit() {

		$(".edit1").click(function() {
	        //设置编辑页面的标题
			$(".addreddEdti").text("编辑收货地址");
			//显示编辑页面
			$(".bcdizhi").show();
			$(".bjshdizhi").show();
			//获取地址的id
			var addrId = $(this).attr("data-id");
			$(".addsave").attr("data-dt", "0");
			//根据id查询地址
			selectAddrById(addrId);
		});
	}

	//根据id查询地址(编辑地址使用)
	function selectAddrById(addrId) {

		$.ajax({
			url : basePath + 'addressInfo/queryAddressInfo.htm',
			dataType : 'json',
			type : 'post',
			data : {
				id : addrId
			},
			success : function(data) {
				if (null != data && data.result == "success") {
					//设置收货人地址
					$(".cnee").val(data.addrInfo.cnee);
					//设置手机号
					$(".phone").val(data.addrInfo.phone);
					//详细地址
					$(".address").val(data.addrInfo.address);
					//省份
					var province = data.addrInfo.province;
					//城市
					var city = data.addrInfo.city;
					//查询省份
					getProvince(province, city);
					//给保存添加addreId属性
					
					$(".addsave").attr("data-id", addrId);

				}
			}
		});
	}

	//--------------------------------------------------------添加地址的方法-----------------------------------------------------------------

	//绑定保存按钮
	function saveAddr() {
		//给保存绑定事件
		$(".addsave").click(function() {
		
			//获取存放的值
			var temp = $(".addsave").attr("data-dt");
		
			//获取addressid
			var addressId = $(".addsave").attr("data-id");
		
			//获取uId---------------------------------------------------参数替换------
			var uId = consumerId;
			//获取用户的类型 ---0表示 普通用户类型,1表示企业 类型
			var type = "0";
			//辨别值
			var flagPd = true;
			//获取收货人名字
			var cnee = $(".cnee").val();
			if (cnee == "") {
				alert("收货人不能为空");
				flagPd = false;
				return false;
			}
			//手机号
			var phone = $(".phone").val();
			//手机号的正则验证
			var reg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
			if (!reg.test(phone)) {
				alert("手机号非法");
				flagPd = false;
				return false;
			}
			//详细地址
			var address = $(".address").val();
			if ($(".address").val() == "") {
				alert("详细地址不能为空");
				flagPd = false;
				return false;
			}
			//省份
			var province = $(".province11").val();
			if (province == "") {
				alert("省份不能为空");
				flagPd = false;
				return false;
			}
			//城市
			var city = $(".city11").val();
			if (city == "") {
				alert("城市不能为空");
				flagPd = false;
				return false;
			}

			if (flagPd) {

				if ("1" == temp) {
					
					$.ajax({
						url : basePath + 'addressInfo/addAddressInfo.htm',
						dataType : 'json',
						type : 'post',
						data : {
							uid : uId,
							cnee : cnee,
							phone : phone,
							province : province,
							city : city,
							address : address,
							type : type
						},
						success : function(data) {
							if (null != data && data.result == "success") {
								//重置表单
								$("input").val("");
								$("textarea").val("");
								//关闭添加页面
								$(".bcdizhi").hide();
								$(".bjshdizhi").hide();
								//把地址移除
								$(".zongdizhi").empty();
								//重新加载地址
								selectAddr();

							}
						}
					});
				} else {
					if (null != addressId && addressId != "") {
						
						//更新保存地址数据
						$.ajax({
							url : basePath + 'addressInfo/updateAddressInfo.htm',
							dataType : 'json',
							type : 'post',
							data : {
								Id : addressId,
								uid : uId,
								cnee : cnee,
								phone : phone,
								province : province,
								city : city,
								address : address

							},
							success : function(data) {
								if (null != data && data.result == "success") {
									$(".bcdizhi").hide();
									$(".bjshdizhi").hide();
									//把地址移除
									$(".zongdizhi").empty();
									//重新加载地址
									selectAddr();
								}
							}
						});

					}

				}
			}
		});

	}
	//给省份的select绑定事件
	function change() {
		$("#province").change(function() {
			//查询城市
			getCity("1");
		});

	}
	//获取省份
	function getProvince(a, b) {
		$.ajax({
			url : basePath + '/code/listChildrenRegion.htm',
			type : "POST",
			data : {
				regionId : ''
			},
			dataType : 'json',
			success : function(data) {
				
				if(null!=data&&null!=data.regionList&&data.regionList.length>0){
					
					
					//获取省份的select标签
					var oSelect = document.getElementById("province");
					for (var i = 0; i < data.regionList.length; i++) {
						//创建一个option节点
						var optionElement = document.createElement("option");
						if ("1" == a) {
							if (a == i) {
								optionElement.setAttribute("selected", "selected");
							}
						} else {
							if (a == data.regionList[i].name) {
								optionElement.setAttribute("selected", "selected");
							}
						}
						//设置option节点的value属性值
						optionElement
						.setAttribute("value", data.regionList[i].name);
						//设置地址的id
						optionElement
						.setAttribute("data-id", data.regionList[i].id);
						//创建一个文本节点
						var oText = document
						.createTextNode(data.regionList[i].name);
						//将文本节点添加到option节点中
						optionElement.appendChild(oText);
						//将option节点添加到省份的Select标签中
						oSelect.appendChild(optionElement);
					}
				}
				//查询城市
				getCity(b);
			},
			error : function() {
				alert('网络繁忙');
			}
		});
	}
	//根据省份的id查询城市  b  ----"1"或城市名
	function getCity(b) {
		//获取省份选中的省份Id
		var provinceId = $("#province option:selected").attr("data-id");

		$("#city").empty();
		$.ajax({
			url : basePath + '/code/listChildrenRegion.htm',
			type : "POST",
			data : {
				regionId : provinceId
			},
			dataType : 'json',
			success : function(data) {
				
				if(null!=data&&null!=data.regionList&&data.regionList.length>0){
					
					//获取省份的select标签
					var oSelect = document.getElementById("city");
					for (var i = 0; i < data.regionList.length; i++) {
						//创建一个option节点
						var optionElement = document.createElement("option");
						if ("1" == b) {
							if (b == i) {
								optionElement.setAttribute("selected", "selected");
							}
						} else {
							if (b == data.regionList[i].name) {
								optionElement.setAttribute("selected", "selected");
							}
						}
						//设置option节点的value属性值
						optionElement
						.setAttribute("value", data.regionList[i].name);
						//设置地址的id
						optionElement
						.setAttribute("data-id", data.regionList[i].id);
						//创建一个文本节点
						var oText = document
						.createTextNode(data.regionList[i].name);
						//将文本节点添加到option节点中
						optionElement.appendChild(oText);
						//将option节点添加到省份的Select标签中
						oSelect.appendChild(optionElement);
					}
					
				}
			},
		});
	}
	
	//设置默认地址
	function  defaultAddress(){
		$(".szmoren").click(function(){
			//获取用户id--------------------------------------参数绑定-------------------------------------------------------
			var uId = consumerId;
		
		 	//获取地址id
	    	var addrId = $(this).attr("data-id");
		 	
		    //更改数据库的默认地址
		    updateDefaultAddress(addrId, uId);
		});
	}
	//更改数据库的方法(修改默认地址)addrId 地址id,uId 用户id
	function updateDefaultAddress(addrId, uId) {
		$.ajax({
			url : basePath + 'addressInfo/updateDefaultAddress.htm',
			dataType : 'json',
			type : 'post',
			data : {
				uId : uId,
				id : addrId
			},
			success : function(data) {
				if (null != data && data.result == "success") {
					//把地址移除
					$(".zongdizhi").empty();
					//重新加载地址
					selectAddr();
				}
			}
		});
	}
	
	
	
	
	
	
	

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值