83行实现城市三级联动(有些地区自己添加)jquery

1 篇文章 0 订阅
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<select>
			<option>选择省</option>
		</select>
		<select>
			<option>选择市</option>
       </select>
		<select>
           <option>选择区</option>
		</select>
	</body>
	<script type="text/javascript" src="js/jquery.js"></script>
	<script type="text/javascript">
		var select1 = $("select").eq(0);
		var select2 = $("select").eq(1);
		var select3 = $("select").eq(2);
		function Map() {
			this.item = {};
		}
		var map = new Map();
		map.put = function(id, iarray) {
			this.item[id] = iarray;
		}
		map.getArr = function(id) {
			return this.item[id];
		}
		map.put("0", ["江苏", "浙江"]);
		map.put("0-0", ["南京", "无锡"]);
		map.put("0-1", ["杭州", "金华"]);
		map.put("0-0-0", ["南京区","南京区2"]);
		map.put("0-0-1", ["无锡区","无锡区2"]);
		map.put("0-1-0", ["杭州区","杭州区2"]);
		map.put("0-1-1", ["金华区","金华区2"]);
			for(key in map.item) {
				if(key.indexOf("-") == -1) {
					var value = map.getArr(key);
					for(var i=0;i<value.length;i++){
						select1.append("<option key1='"+i+"'>" + value[i] + "</option>");
					}	
				}
			}
			select1.change(function(){
			  var value = this.value;
			  if(value!="选择省"){
			      var key1 = $(this).find("option:selected").attr("key1");
			      var key2 = "0-"+key1;
			      var value2 = map.getArr(key2);
			       select2.empty();
			       select2.append("<option>选择市</option>")
			      for(var i=0;i<value2.length;i++){
			      	var key3 = key2+"-"+i;
			      	    select2.append("<option key3='"+key3+"'>"+value2[i]+"</option>");
			      }
			  }else{
			  	select2.empty();
			    select2.append("<option>选择市</option>")
			    select3.empty();
				select3.append("<option>选择区</option>")
			  }
			});
			select2.change(function(){
				var value = this.value;
				if(value != "选择市"){
					var key3 = $(this).find("option:selected").attr("key3");
				    var value3 = map.getArr(key3);
				    select3.empty();
				    select3.append("<option>选择区</option>")
				    for(var i=0;i<value3.length;i++){
				    	select3.append("<option>"+value3[i]+"</option>");
				    }
				}else{
					select3.empty();
				    select3.append("<option>选择区</option>")
				}
			});
	</script>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值