jquery省市联动,根据公司需求而写

时间:2021-07-28 17:04:07
 //author:guan
//2015-05-25
//省市联动
//实用说明,页面引用如下js
//<script src="../js/jquery-1.6.3.min.js"></script>
//<script src="js/ProvinceDropDown.js"></script>
//页面元素
//<select id="Province"></select>
//<select id="City"></select> $(function () {
//初始化下拉框值
InitDropDown("Province", "City");
})
var Dropdowndata = [{ "ParentName": "宁夏", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "银川", "ChildrenCode": "11" }] }, { "ParentName": "山东", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "济南", "ChildrenCode": "11" }, { "ChildrenName": "青岛", "ChildrenCode": "12" }, { "ChildrenName": "潍坊", "ChildrenCode": "13" }] }, { "ParentName": "甘肃", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "兰州", "ChildrenCode": "11" }] }, { "ParentName": "天津", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "天津", "ChildrenCode": "11" }] }, { "ParentName": "湖南", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "长沙", "ChildrenCode": "11" }] }, { "ParentName": "湖北", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "武汉", "ChildrenCode": "11" }, { "ChildrenName": "襄阳", "ChildrenCode": "12" }] }, { "ParentName": "云南", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "昆明", "ChildrenCode": "11" }] }, { "ParentName": "广东", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "广州", "ChildrenCode": "11" }, { "ChildrenName": "深圳", "ChildrenCode": "12" }, { "ChildrenName": "佛山", "ChildrenCode": "13" }, { "ChildrenName": "东莞", "ChildrenCode": "14" }, { "ChildrenName": "中山", "ChildrenCode": "15" }] }, { "ParentName": "浙江", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "杭州", "ChildrenCode": "11" }, { "ChildrenName": "宁波", "ChildrenCode": "12" }, { "ChildrenName": "嘉兴", "ChildrenCode": "13" }, { "ChildrenName": "绍兴", "ChildrenCode": "14" }, { "ChildrenName": "义乌", "ChildrenCode": "15" }, { "ChildrenName": "温州", "ChildrenCode": "16" }, { "ChildrenName": "台州", "ChildrenCode": "17" }] }, { "ParentName": "江西", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "南昌", "ChildrenCode": "11" }] }, { "ParentName": "*", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "乌鲁木齐", "ChildrenCode": "11" }] }, { "ParentName": "北京", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "北京", "ChildrenCode": "11" }] }, { "ParentName": "河北", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "唐山", "ChildrenCode": "11" }, { "ChildrenName": "保定", "ChildrenCode": "12" }, { "ChildrenName": "邯郸", "ChildrenCode": "13" }] }, { "ParentName": "贵州", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "贵阳", "ChildrenCode": "11" }] }, { "ParentName": "四川", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "成都", "ChildrenCode": "11" }, { "ChildrenName": "南充", "ChildrenCode": "12" }, { "ChildrenName": "泸州", "ChildrenCode": "13" }, { "ChildrenName": "宜宾", "ChildrenCode": "14" }, { "ChildrenName": "绵阳", "ChildrenCode": "15" }] }, { "ParentName": "吉林", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "长春", "ChildrenCode": "11" }] }, { "ParentName": "安徽", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "合肥", "ChildrenCode": "11" }, { "ChildrenName": "芜湖", "ChildrenCode": "12" }] }, { "ParentName": "黑龙江", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "哈尔滨", "ChildrenCode": "11" }] }, { "ParentName": "辽宁", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "沈阳", "ChildrenCode": "11" }, { "ChildrenName": "大连", "ChildrenCode": "12" }] }, { "ParentName": "山西", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "山西", "ChildrenCode": "11" }] }, { "ParentName": "河南", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "郑州", "ChildrenCode": "11" }] }, { "ParentName": "福建", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "福州", "ChildrenCode": "11" }, { "ChildrenName": "厦门", "ChildrenCode": "12" }, { "ChildrenName": "泉州", "ChildrenCode": "13" }] }, { "ParentName": "重庆", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "重庆", "ChildrenCode": "11" }] }, { "ParentName": "江苏", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "南京", "ChildrenCode": "11" }, { "ChildrenName": "苏州", "ChildrenCode": "12" }, { "ChildrenName": "无锡", "ChildrenCode": "13" }, { "ChildrenName": "常州", "ChildrenCode": "14" }, { "ChildrenName": "南通", "ChildrenCode": "15" }, { "ChildrenName": "扬州", "ChildrenCode": "16" }, { "ChildrenName": "盐城", "ChildrenCode": "17" }] }, { "ParentName": "陕西", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "西安", "ChildrenCode": "11" }, { "ChildrenName": "榆林", "ChildrenCode": "12" }] }, { "ParentName": "广西", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "南宁", "ChildrenCode": "11" }] }, { "ParentName": "海南", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "海口", "ChildrenCode": "11" }] }, { "ParentName": "上海", "ParentCode": "1", "ChildrenNodes": [{ "ChildrenName": "上海", "ChildrenCode": "11" }] }]; function InitDropDown(province, city) {
var _province = $("#" + province);
//初始化清空,为其添加请选择默认选项
_province.empty().append($("<option>").text("请选择").val("-1")); var _city = $("#" + city);
_city.empty().append($("<option>").text("请选择").val("-1"));
//循环读取数组的json一级下拉值
for (var i = 0; i < Dropdowndata.length; i++) {
var option = $("<option>").text(Dropdowndata[i].ParentName).val(Dropdowndata[i].ParentCode).attr("pos", i);
_province.append(option);
}
$(_province).change(function () {
_city.empty().append($("<option>").text("请选择").val("-1"));
//根据数组下标从数据取出json数据
var citys = Dropdowndata[$(this).find("option:selected").attr("pos")].ChildrenNodes;
for (var i = 0; i < citys.length; i++) {
var option = $("<option>").text(citys[i].ChildrenName).val(citys[i].ChildrenCode);
_city.append(option);
}
})
} 页面元素如下
  <select id="Province"></select>
<select id="City"></select>