省市级联

以2维数组来维护省市,首次加载全部省和第一个省对应的所有市,存在2维数组中,改变省时,如果2维数组中有对应的市就从数组中取,否则从后台取。

var array = new Array();
	function getProvince(){
		$.ajax(
			{type:"POST", url:"/getProvince.action", dataType:"json", async:false, success:function (json) {
			len = json.listp.length;
			for (var i = 0; i < len; i++) {
				array[i] = new Array();
				array[i].id = json.listp[i].vcharProvId;
				array[i].name = json.listp[i].vcharProvince;
			}
			}}
		);
		getCity(0);
	}
	
	function getCity(num){
		$.ajax({type:"POST", url:"/getCity.action", data:{ID:array[num].id}, dataType:"json", async:false, success:function (json) {
			len = json.listc.length;
			for (var i = 0; i < len; i++) {
				array[num][i] = new Object();
				array[num][i].id=json.listc[i].vcharCityId;
				array[num][i].name=json.listc[i].vcharCity;
			}}
		});
		
	}

	$().ready(function(){	
		getProvince();
		init();
	});
	
	function init(){
		var province ="";
		for(var i=0;i<array.length;i++){
			province +="<option value="+i+ ">"+array[i].name+"</option>";
		}
		$("#province").append(province);
		var obj =new Object();
		obj.value=0;
		select_city(obj);
	}
	
	function select_city(obj){
		var i=obj.value;
		var city ="";
		if(array[i][0]==null){
			getCity(i);
		}	
		for(var j=0;j<array[i].length;j++){
			city +="<option value="+array[i][j].id+">"+array[i][j].name+"</option>";
		}
		$("#city").html(city);
	}

 

<select name="" id="province" οnchange="select_city(this)">
</select>
<select name="" id="city"></select>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的JavaScript省市级联代码的示例: ```javascript // 省份数据 var provinces = [ { name: "北京市", cities: ["北京市"] }, { name: "上海市", cities: ["上海市"] }, { name: "广东省", cities: ["广州市", "深圳市", "珠海市"] }, // 其他省份数据... ]; // 城市数据 var cities = { "北京市": ["东城区", "西城区", "朝阳区", "海淀区"], "上海市": ["黄浦区", "徐汇区", "静安区", "普陀区"], "广州市": ["天河区", "越秀区", "海珠区", "荔湾区"], "深圳市": ["福田区", "罗湖区", "南山区", "宝安区"], "珠海市": ["香洲区", "斗门区", "金湾区"], // 其他城市数据... }; // 省份下拉框 var provinceSelect = document.getElementById("province"); // 城市下拉框 var citySelect = document.getElementById("city"); // 初始化省份下拉框 for (var i = 0; i < provinces.length; i++) { var option = document.createElement("option"); option.text = provinces[i].name; provinceSelect.add(option); } // 省份下拉框改变事件 provinceSelect.addEventListener("change", function() { // 清空城市下拉框 citySelect.innerHTML = ""; // 获取选中的省份 var selectedProvince = provinceSelect.value; // 根据选中的省份获取对应的城市数据 var selectedCities = cities[selectedProvince]; // 初始化城市下拉框 for (var i = 0; i < selectedCities.length; i++) { var option = document.createElement("option"); option.text = selectedCities[i]; citySelect.add(option); } }); ``` 这段代码实现了一个简单的省市级联功能。当选择省份时,城市下拉框会根据选中的省份动态更新显示对应的城市列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值