1、 Java代码
private static Map<String,List<String>> provinceMap = new HashMap<String,List<String>>();
private static String[] province = {"河北","山西","内蒙古","辽宁","吉林","黑龙江",
"江苏","浙江","安徽","福建","江西","山东","河南","湖北","湖南","广东","广西",
"海南","四川","贵州","云南","西藏","陕西","甘肃","青海","宁夏","新疆","台湾"
};
private static String[][] city = {
{"石家庄","唐山","秦皇岛","邯郸","邢台","保定","张家口","承德","沧州","廊坊","衡水"},
{"太原", "大同", "阳泉", "长治" ,"晋城","朔州","晋中","运城","忻州","临汾","吕梁"},
{"呼和浩特", "包头" ,"乌海" ,"赤峰" ,"通辽" ,"鄂尔多斯", "呼伦贝尔", "巴彦淖尔", "乌兰察布" ,"兴安" ,"锡林郭勒", "阿拉善"},
{"沈阳" ,"大连" ,"鞍山" ,"抚顺" ,"本溪" ,"丹东" ,"锦州" ,"营口" ,"阜新" ,"辽阳" ,"盘锦" ,"铁岭" ,"朝阳" ,"葫芦岛"},
{"长春" ,"吉林" ,"四平" ,"辽源" ,"通化" ,"白山" ,"松原" ,"白城", "延边"},
{"哈尔滨" ,"齐齐哈尔" ,"鸡西" ,"鹤岗" ,"双鸭山", "大庆 " ,"伊春" ,"佳木斯" ,"七台河" ,"牡丹江" ,"黑河" ,"绥化", "大兴安岭"},
{"南京" ,"无锡" ,"徐州", "常州" ,"苏州", "南通" ,"连云港" ,"淮安" ,"盐城" ,"扬州", "镇江" ,"泰州", "宿迁"},
{"杭州", "宁波" ,"温州" ,"嘉兴", "湖州", "绍兴", "金华","衢州","舟山","台州","丽水"},
{"合肥" ,"芜湖", "蚌埠", "淮南" ,"马鞍山", "淮北", "铜陵" ,"安庆" ,"黄山" ,"滁州" ,"阜阳" ,"宿州" ,"巢湖" ,"六安" ,"亳州", "池州", "宣城"},
{"福州" ,"厦门", "莆田", "三明 ","泉州 ","漳州", "南平", "龙岩" ,"宁德"},
{"南昌" ,"景德镇", "萍乡", "九江", "新余", "鹰潭", "赣州", "吉安", "宜春" ,"抚州" ,"上饶"},
{"济南" ,"青岛" ,"淄博", "枣庄", "东营", "烟台" ,"潍坊 ","威海" ,"济宁", "泰安", "日照" ,"莱芜" ,"临沂", "德州", "聊城", "滨州","菏泽"},
{"郑州 ","开封", "洛阳", "平顶山" ,"焦作", "鹤壁","新乡", "安阳", "濮阳" ,"许昌" ,"漯河" ,"三门峡", "南阳" ,"商丘", "信阳" ,"周口", "驻马店"},
{"武汉" ,"黄石 ","襄樊 ", "十堰", "荆州", "宜昌 ","荆门" ,"鄂州" ,"孝感 ","黄冈", "咸宁", "随州", "恩施"},
{"长沙", "株洲", "湘潭", "衡阳", "邵阳", "岳阳", "常德", "张家界" ,"益阳", "郴州" ,"永州", "怀化", "娄底", "湘西"},
{"广州", "深圳", "珠海", "汕头", "韶关" ,"佛山" ,"江门" ,"湛江" ,"茂名" ,"肇庆" ,"惠州" ,"梅州", "汕尾", "河源", "阳江" ,"清远", "东莞"," 中山" ,"潮州", "揭阳", "云浮"},
{"南宁", "柳州", "桂林" ,"梧州" ,"北海" ,"防城港" ,"钦州" ,"贵港", "玉林 ","百色 ","贺州" ,"河池" ,"来宾", "崇左"},
{"海口", "三亚"},
{"成都", "自贡", "攀枝花", "泸州", "德阳", "绵阳" ,"广元" ,"遂宁", "内江" ,"乐山" ,"南充" ,"宜宾", "广安 ","达州" ,"眉山", "雅安", "巴中", "资阳" ,"阿坝", "甘孜", "凉山"},
{"贵阳 ","六盘水", "遵义", "安顺", "铜仁" ,"毕节" ,"黔西南" ,"黔东南" ,"黔南"},
{"昆明", "曲靖" ,"玉溪" ,"保山" ,"昭通" ,"丽江", "普洱" ,"临沧" ,"文山" ,"红河" ,"西双版纳 ","楚雄", "大理", "德宏", "怒江" ,"迪庆"},
{"拉萨" ,"昌都", "山南" ,"日喀则", "那曲", "阿里", "林芝"},
{"西安", "铜川", "宝鸡" ,"咸阳 ","渭南" ,"延安", "汉中" ,"榆林" ,"安康" ,"商洛"},
{"兰州", "嘉峪关" ,"金昌", "白银" ,"天水" ,"武威", "张掖" ,"平凉" ,"酒泉" ,"庆阳", "定西", "陇南" ,"临夏", "甘南"},
{"西宁" ,"海东" ,"海北", "黄南" ,"海南","果洛", "玉树" ,"海西"},
{"银川", "石嘴山" ,"吴忠", "固原" ,"中卫"},
{"乌鲁木齐" ,"克拉玛依" ,"吐鲁番" ,"哈密", "和田", "阿克苏" ,"喀什", "克孜勒苏柯尔克孜", "巴音郭楞蒙古" ,"昌吉" ,"博尔塔拉蒙古" ,"伊犁哈萨克" ,"塔城 " ,"阿勒泰"},
{"台北", "高雄", "基隆", "台中" ,"台南", "新竹" ,"嘉义"}
};
static{
List<String> cityList = null;
for(int i=0,j=province.length;i<j;i++){
cityList= new ArrayList<String>();
provinceMap.put(province[i],cityList);
for(int m=0,n=city[i].length;m<n;m++){
cityList.add(city[i][m]);
}
}
}
public String[] getProvince(){
return province;
}
public List<String> getCities(String provinceName){
List<String> cityList = null;
if(provinceMap.containsKey(provinceName)){
cityList = provinceMap.get(provinceName);
}
return cityList;
}
2、Javascript代码
<script>
function init(){
a.getProvince(showProvince);
};
function showProvince(data){
var province = document.form.province;
province.options[0] = new Option('--请选择省份','--请选择省份');
for(var i=0,j=data.length;i<j;i++){
province.options[i+1] = new Option(data[i],data[i]);
}
};
function showCities(data){
var cities = document.form.cities;
for(var i=0,j=data.length;i<j;i++){
cities.options[i] = new Option(data[i],data[i]);
}
}
function initCitySelect(provinceName){
var ele = document.form.elements[1];
if(ele){
document.form.removeChild(ele);
}
if("--请选择省份"==provinceName){
return ;
}else{
var citiesSelect = document.createElement("select");
citiesSelect.name = "cities";
document.form.appendChild(citiesSelect);
return a.getCities(provinceName,showCities);
}
}
</script>
</head>
<body onload="init()">
<form name="form">
<select name="province" onchange="initCitySelect(this.value)"></select>
</form>
</body>
分享到:
相关推荐
**Ajax DWR 框架实现二级联动下拉列表源码详解** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。DWR(Direct Web Remoting)则是一个用于Java web应用的开源...
在二级联动菜单中,当用户选择一级菜单时,Ajax会异步请求服务器端的Java方法,这些方法由DWR暴露给前端。服务器端收到请求后,通过`DepartmentDAO`或`EmployeeDAO`获取相关数据,并将结果返回给前端。前端接收到...
在这个“ajaxdwr select二级联动”的场景中,我们将讨论如何利用这两种技术实现下拉菜单的级联选择效果。 Ajax是一种在无需刷新整个页面的情况下,能够更新部分网页的技术。它通过JavaScript发送异步请求到服务器,...
本篇主要讨论如何利用SSH框架和DWR来实现省市二级联动效果。 省市二级联动通常是指在一个下拉菜单选择省份后,另一个下拉菜单会动态加载对应的市一级的数据。这种功能在很多网站的地址填写环节中常见,它可以提高...
在IT行业中,"四级联动"通常指的是在一个网页应用中,四个下拉菜单或者选择框之间存在依赖关系,当用户在一级菜单中选择一个选项时,二级菜单会根据一级的选择自动更新其可选内容,以此类推,直到第四级。...
在Web开发中,二级联动是一种常见的交互设计,用于在两个下拉框或列表之间建立关联,通常是基于用户在第一个选择中的选项动态更新第二个选择项。在这种场景中,`AJAX (Asynchronous JavaScript and XML)` 和 `DWR ...
使用dwr做的二级联动菜单,不会出现DWRUtil未定义的问题。不使用DWRUtil实现,依赖dwr.xml中的配置的实体实现二级联动。数据库采用mysql,字段简单可根据自己的情况建立数据库,根据pojo中的类建立表,然后把util...
标题 "DWR实现省市县三级联动小例子" 暗示了这个压缩包可能包含一个使用Direct Web Remoting (DWR) 技术构建的示例项目,该示例展示了如何实现在网页上进行省、市、县三级联动选择的功能。这种功能在很多中国的网站...
标题中的“dwr 实现2级联动”指的是在Web开发中使用Direct Web Remoting (DWR)框架来实现页面上的两级联动效果。DWR是一种Java库,它允许JavaScript和Java在浏览器与服务器之间进行实时通信,类似于AJAX,但更加强大...
本示例主要展示了如何使用纯JSP和Direct Web Remoting (DWR)技术来构建一个功能丰富的用户界面,其中包括三级联动下拉选择菜单、无刷新联动、用户存在性判断以及模拟Google搜索效果的功能。DWR是一种JavaScript库,...
3. **Struts2的二级联动**:Struts2框架提供了内置的二级联动支持,但效率相对较低,且不适用于更复杂的多级联动需求。因此,开发者通常会寻找其他解决方案,如DWR,来提高性能和用户体验。 4. **DWR(Direct Web ...
两级联动通常指的是在一个下拉列表的选择会影响另一个下拉列表的选项,这种交互常见于省市区选择、产品分类等场景。 DWR的核心功能在于它提供了一种简单的方式来处理AJAX请求,使得前端JavaScript可以直接调用后端...
### DWR实现省市县三级联动的关键技术点 #### 一、DWR简介及应用场景 - **DWR**(Direct Web Remoting)是一种简化Ajax应用程序开发的框架,它使得客户端JavaScript可以直接调用服务器端的Java方法变得简单易行。在...
在介绍的省市县三级联动的例子中,通过DWR与AJAX的结合使用,可以实现用户在选择一个省级别之后,页面能够动态地加载并显示该省份下属的所有市级选项。同样地,再选择一个市级之后,页面能够加载并显示该市下属的...
"dwr框架+struts+Hibernate实现下拉菜单二级联动"是一个典型的Web应用程序开发技术组合,它旨在创建一个动态且响应式的交互式UI,特别是在处理关联数据时。下面我们将深入探讨这个主题。 首先,DWR(Direct Web ...
ajax,spring,hibernate,dwr,实现二级联动
在本例中,“dwr写的二级联动,要的快”指的是利用DWR实现的网页下拉框的二级联动效果。这种效果常见于地址选择、部门选择等场景,用户在一级选择框中选择一个选项后,二级选择框会自动更新为与一级选择相关的子选项...
在Java中,我们需要创建两个方法,分别对应二级联动和三级联动。`getSecondSort`方法接收商品大类的ID作为参数,返回一个映射,该映射的键值对表示商品小类的ID和名称。`getBrand`方法类似,但接收商品小类的ID,...
在IT行业中,开发一个能够实现省、市、县三级联动的系统是一项常见的需求,尤其是在中国的地理信息系统或电子商务网站中。这个实例是基于DWR(Direct Web Remoting)技术和Struts框架来实现的,旨在帮助开发者更好地...
5. **三级联动**:三级联动通常指的是在界面上有三个互相依赖的选择框,例如省、市、区,当用户在第一个选择框中做出选择时,第二个选择框会自动更新为相应省下的城市,同样,选中城市后,第三个选择框会更新为该...