ASP里的表单问题~!急

我想要实现的是如下情况:表单里有2个列表分别是“省”和“市”我想实现的是在“省”这一栏里选择了某个省份,“市”这一栏的就会出现该市的对应城市,如“省”选择了广东,则“市”... 我想要实现的是如下情况:
表单里有2个列表分别是“省”和“市”
我想实现的是在“省”这一栏里选择了某个省份,“市”这一栏的就会出现该市的对应城市,如“省”选择了广东,则“市”这一栏就会出现广州、东莞等,不会出现其他省的城市,请问这个该怎么弄呢,,,?
展开
 我来答
jiangxibaiyi
2010-03-03 · 跟随风去旅行-伤心的歌
jiangxibaiyi
采纳数:3973 获赞数:14412

向TA提问 私信TA
展开全部
<select onchange=setcity(); name=prv>
<option value="">选择省份</option>
<OPTION value=安徽>安徽</OPTION>
<OPTION value=北京>北京</OPTION>
<OPTION value=重庆>重庆</OPTION>
<OPTION value=福建>福建</OPTION>
<OPTION value=甘肃>甘肃</OPTION>
<OPTION value=广东>广东</OPTION>
<OPTION value=广西>广西</OPTION>
<OPTION value=贵州>贵州</OPTION>
<OPTION value=海南>海南</OPTION>
<OPTION value=河北>河北</OPTION>
<OPTION value=黑龙江>黑龙江</OPTION>
<OPTION value=河南>河南</OPTION>
<OPTION value=香港>香港</OPTION>
<OPTION value=湖北>湖北</OPTION>
<OPTION value=湖南>湖南</OPTION>
<OPTION value=江苏>江苏</OPTION>
<OPTION value=江西>江西</OPTION>
<OPTION value=吉林>吉林</OPTION>
<OPTION value=辽宁>辽宁</OPTION>
<OPTION value=澳门>澳门</OPTION>
<OPTION value=内蒙古>内蒙古</OPTION>
<OPTION value=宁夏>宁夏</OPTION>
<OPTION value=青海>青海</OPTION>
<OPTION value=山东>山东</OPTION>
<OPTION value=上海>上海</OPTION>
<OPTION value=山西>山西</OPTION>
<OPTION value=陕西>陕西</OPTION>
<OPTION value=四川>四川</OPTION>
<OPTION value=台湾>台湾</OPTION>
<OPTION value=天津>天津</OPTION>
<OPTION value=新疆>新疆</OPTION>
<OPTION value=西藏>西藏</OPTION>
<OPTION value=云南>云南</OPTION>
<OPTION value=浙江>浙江</OPTION>
</select>
<select name=city></select>市
<SCRIPT language=javascript >
<!--
function setcity() {
switch (document.form1.prv.value) {
case "" :
var cityOptions = new Array("", "");
break;
case "安徽" :
var cityOptions = new Array(
"合肥", "合肥","安庆", "安庆","蚌埠", "蚌埠","亳州", "亳州","巢湖", "巢湖","滁州", "滁州","阜阳", "阜阳","贵池", "贵池","淮北", "淮北","淮化", "淮化","淮南", "淮南", "黄山", "黄山", "九华山", "九华山", "六安", "六安","马鞍山", "马鞍山","宿州", "宿州","铜陵", "铜陵","屯溪", "屯溪","芜湖", "芜湖", "宣城", "宣城");
break;
case "北京" :
var cityOptions = new Array(
"北京", "北京","东城","西城","崇文","宣武","朝阳","丰台","石景山","海淀","门头沟","房山","通州","顺义","昌平","大兴","平谷","怀柔","密云","延庆");
break;
case "重庆" :
var cityOptions = new Array(
"重庆", "重庆","万州","涪陵","渝中","大渡口","江北","沙坪坝","九龙坡","南岸","北碚","万盛","双挢","渝北","巴南","黔江","长寿","綦江","潼南","铜梁","大足","荣昌","壁山","梁平","城口","丰都","垫江","武隆","忠县","开县","云阳","奉节","巫山","巫溪","石柱","秀山","酉阳","彭水","江津","合川","永川","南川");
break;
case "福建" :
var cityOptions = new Array(
"福州", "福州","福安", "福安","龙岩", "龙岩","南平", "南平","宁德", "宁德","莆田", "莆田","泉州", "泉州","三明", "三明","邵武", "邵武","石狮", "石狮","永安","永安", "武夷山", "武夷山","厦门", "厦门", "漳州", "漳州");
break;
case "甘肃" :
var cityOptions = new Array(
"兰州(*)", "兰州",
"白银", "白银",
"定西", "定西",
"敦煌", "敦煌",
"甘南", "甘南",
"金昌", "金昌",
"酒泉", "酒泉",
"临夏", "临夏",
"平凉", "平凉",
"天水", "天水",
"武都", "武都",
"西峰", "西峰",
"张掖", "张掖");
break;
case "广东" :
var cityOptions = new Array(
"广州(*)", "广州",
"潮阳", "潮阳",
"潮州", "潮州",
"澄海", "澄海",
"东莞", "东莞",
"佛山", "佛山",
"河源", "河源",
"惠州", "惠州",
"江门", "江门",
"揭阳", "揭阳",
"开平", "开平",
"茂名", "茂名",
"梅州", "梅州",
"清远", "清远",
"汕头", "汕头",
"汕尾", "汕尾",
"韶关", "韶关",
"深圳", "深圳",
"顺德", "顺德",
"阳江", "阳江",
"阳江", "阳江",
"英德", "英德",
"云浮", "云浮",
"增城", "增城",
"湛江", "湛江",
"肇庆", "肇庆",
"中山", "中山",
"珠海", "珠海");
break;
case "广西" :
var cityOptions = new Array(
"南宁(*)", "南宁",
"百色", "百色",
"北海", "北海",
"桂林", "桂林",
"防城港", "防城港",
"河池", "河池",
"柳州", "柳州",
"钦州", "钦州",
"梧州", "梧州",
"玉林", "玉林");
break;
case "贵州" :
var cityOptions = new Array(
"贵阳(*)", "贵阳",
"安顺", "安顺",

"毕节", "毕节",
"都匀", "都匀",
"凯里", "凯里",
"六盘水", "六盘水",
"铜仁", "铜仁",
"兴义", "兴义",
"玉屏", "玉屏",
"遵义", "遵义");
break;
case "海南" :
var cityOptions = new Array(
"海口(*)", "海口",
"儋县", "儋县",
"陵水", "陵水",
"琼海", "琼海",
"三亚", "三亚",
"通什", "通什",
"万宁", "万宁");
break;
case "河北" :
var cityOptions = new Array(
"石家庄(*)", "石家庄",
"保定", "保定",
"北戴河", "北戴河",
"沧州", "沧州",
"承德", "承德",
"丰润", "丰润",
"邯郸", "邯郸",
"衡水", "衡水",
"廊坊", "廊坊",
"南戴河", "南戴河",
"秦皇岛", "秦皇岛",
"唐山", "唐山",
"新城", "新城",
"邢台", "邢台",
"张家口", "张家口");
break;
case "黑龙江" :
var cityOptions = new Array(
"哈尔滨(*)", "哈尔滨",
"北安", "北安",
"大庆", "大庆",
"大兴安岭", "大兴安岭",
"鹤岗", "鹤岗",
"黑河", "黑河",
"佳木斯", "佳木斯",
"鸡西", "鸡西",
"牡丹江", "牡丹江",
"齐齐哈尔", "齐齐哈尔",
"七台河", "七台河",
"双鸭山", "双鸭山",
"绥化", "绥化",
"伊春", "伊春");
break;
case "河南" :
var cityOptions = new Array(
"郑州(*)", "郑州",
"安阳", "安阳",
"鹤壁", "鹤壁",
"潢川", "潢川",
"焦作", "焦作",
"开封", "开封",
"漯河", "漯河",
"洛阳", "洛阳",
"南阳", "南阳",
"平顶山", "平顶山",
"濮阳", "濮阳",
"三门峡", "三门峡",
"商丘", "商丘",
"新乡", "新乡",
"信阳", "信阳",
"许昌", "许昌",
"周口", "周口",
"驻马店", "驻马店");
break;
case "香港" :
var cityOptions = new Array(
"香港", "香港",
"九龙", "九龙");
break;
case "湖北" :
var cityOptions = new Array(
"武汉(*)", "武汉",
"恩施", "恩施",
"鄂州", "鄂州",
"黄岗", "黄岗",
"黄石", "黄石",
"荆门", "荆门",
"荆州", "荆州",
"潜江", "潜江",
"十堰", "十堰",
"随州", "随州",
"武穴", "武穴",
"仙桃", "仙桃",
"咸宁", "咸宁",
"襄阳", "襄阳",
"襄樊", "襄樊",
"孝感", "孝感",
"宜昌", "宜昌");
break;
case "湖南" :
var cityOptions = new Array(
"长沙(*)", "长沙",
"常德", "常德",
"郴州", "郴州",
"衡阳", "衡阳",
"怀化", "怀化",
"吉首", "吉首",
"娄底", "娄底",
"邵阳", "邵阳",
"湘潭", "湘潭",
"益阳", "益阳",
"岳阳", "岳阳",
"永州", "永州",
"张家界", "张家界",
"株洲", "株洲");
break;
case "江苏" :
var cityOptions = new Array(
"南京(*)", "南京",
"常熟", "常熟",
"常州", "常州",
"海门", "海门",
"淮安", "淮安",
"江都", "江都",
"江阴", "江阴",
"昆山", "昆山",
"连云港", "连云港",
"南通", "南通",
"启东", "启东",
"沭阳", "沭阳",
"苏州", "苏州",
"太仓", "太仓",
"泰州", "泰州",
"同里", "同里",
"无锡", "无锡",
"徐州", "徐州",
"盐城", "盐城",
"扬州", "扬州",
"宜兴", "宜兴",
"仪征", "仪征",
"张家港", "张家港",
"镇江", "镇江",
"周庄", "周庄");
break;
case "江西" :
var cityOptions = new Array(
"南昌(*)", "南昌",
"抚州", "抚州",
"赣州", "赣州",
"吉安", "吉安",
"景德镇", "景德镇",
"井冈山", "井冈山",
"九江", "九江",
"庐山", "庐山",
"萍乡", "萍乡",
"上饶", "上饶",
"新余", "新余",
"宜春", "宜春",
"鹰潭", "鹰潭");
break;
case "吉林" :
var cityOptions = new Array(
"长春(*)", "长春",
"白城", "白城",
"白山", "白山",
"珲春", "珲春",
"辽源", "辽源",
"梅河", "梅河",
"吉林", "吉林",
"四平", "四平",
"松原", "松原",
"通化", "通化",
"延吉", "延吉");
break;
case "辽宁" :
var cityOptions = new Array(
"沈阳(*)", "沈阳",
"鞍山", "鞍山",
"本溪", "本溪",
"朝阳", "朝阳",
"大连", "大连",
"丹东", "丹东",
"抚顺", "抚顺",
"阜新", "阜新",
"葫芦岛", "葫芦岛",
"锦州", "锦州",
"辽阳", "辽阳",
"盘锦", "盘锦",
"铁岭", "铁岭",
"营口", "营口");
break;
case "澳门" :
var cityOptions = new Array(
"澳门", "澳门");
break;
case "内蒙古" :
var cityOptions = new Array(
"呼和浩特(*)", "呼和浩特",
"阿拉善盟", "阿拉善盟",
"包头", "包头",
"赤峰", "赤峰",
"东胜", "东胜",
"海拉尔", "海拉尔",
"集宁", "集宁",
"临河", "临河",
"通辽", "通辽",
"乌海", "乌海",
"乌兰浩特", "乌兰浩特",
"锡林浩特", "锡林浩特");
break;
case "宁夏" :
var cityOptions = new Array(
"银川(*)", "银川",
"固源", "固源",
"石嘴山", "石嘴山",
"吴忠", "吴忠");
break;
case "青海" :
var cityOptions = new Array(
"西宁(*)", "西宁",
"德令哈", "德令哈",
"格尔木", "格尔木",
"共和", "共和",
"海东", "海东",
"海晏", "海晏",
"玛沁", "玛沁",
"同仁", "同仁",
"玉树", "玉树");
break;
case "山东" :
var cityOptions = new Array(
"济南(*)", "济南",
"滨州", "滨州",
"兖州", "兖州",
"德州", "德州",
"东营", "东营",
"荷泽", "荷泽",
"济宁", "济宁",
"莱芜", "莱芜",
"聊城", "聊城",
"临沂", "临沂",
"蓬莱", "蓬莱",
"青岛", "青岛",
"曲阜", "曲阜",
"日照", "日照",
"泰安", "泰安",
"潍坊", "潍坊",
"威海", "威海",
"烟台", "烟台",
"枣庄", "枣庄",
"淄博", "淄博");
break;
case "上海" :
var cityOptions = new Array(
"上海", "上海",
"崇明", "崇明",
"朱家角", "朱家角");
break;
case "山西" :
var cityOptions = new Array(
"太原(*)", "太原",
"长治", "长治",
"大同", "大同",
"候马", "候马",
"晋城", "晋城",
"离石", "离石",
"临汾", "临汾",
"宁武", "宁武",
"朔州", "朔州",
"忻州", "忻州",
"阳泉", "阳泉",
"榆次", "榆次",
"运城", "运城");
break;
case "陕西" :
var cityOptions = new Array(
"西安(*)", "西安",
"安康", "安康",
"宝鸡", "宝鸡",
"汉中", "汉中",
"渭南", "渭南",
"商州", "商州",
"绥德", "绥德",
"铜川", "铜川",
"咸阳", "咸阳",
"延安", "延安",
"榆林", "榆林");
break;
case "四川" :
var cityOptions = new Array(
"成都(*)", "成都",
"巴中", "巴中",
"达安", "达安",
"德阳", "德阳",
"都江堰", "都江堰",
"峨眉山", "峨眉山",
"涪陵", "涪陵",
"广安", "广安",
"广元", "广元",
"九寨沟", "九寨沟",
"康定", "康定",
"乐山", "乐山",
"泸州", "泸州",
"马尔康", "马尔康",
"绵阳", "绵阳",
"南充", "南充",
"内江", "内江",
"攀枝花", "攀枝花",
"遂宁", "遂宁",
"汶川", "汶川",
"西昌", "西昌",
"雅安", "雅安",
"宜宾", "宜宾",
"自贡", "自贡");
break;
case "台湾" :
var cityOptions = new Array(
"台北(*)", "台北",
"基隆", "基隆",
"台南", "台南",
"台中", "台中");
break;
case "天津" :
var cityOptions = new Array(
"天津", "天津");
break;
case "新疆" :
var cityOptions = new Array(
"乌鲁木齐(*)", "乌鲁木齐",
"阿克苏", "阿克苏",
"阿勒泰", "阿勒泰",
"阿图什", "阿图什",
"博乐", "博乐",
"昌吉", "昌吉",
"东山", "东山",
"哈密", "哈密",
"和田", "和田",
"喀什", "喀什",
"克拉玛依", "克拉玛依",
"库车", "库车",
"库尔勒", "库尔勒",
"奎屯", "奎屯",
"石河子", "石河子",
"塔城", "塔城",
"吐鲁番", "吐鲁番",
"伊宁", "伊宁");
break;
case "西藏" :
var cityOptions = new Array(
"拉萨(*)", "拉萨",
"阿里", "阿里",
"昌都", "昌都",
"林芝", "林芝",
"那曲", "那曲",
"日喀则", "日喀则",
"山南", "山南");
break;
case "云南" :
var cityOptions = new Array(
"昆明(*)", "昆明",
"大理", "大理",
"保山", "保山",
"楚雄", "楚雄",
"大理", "大理",
"东川", "东川",
"个旧", "个旧",
"景洪", "景洪",
"开远", "开远",
"临沧", "临沧",
"丽江", "丽江",
"六库", "六库",
"潞西", "潞西",
"曲靖", "曲靖",
"思茅", "思茅",
"文山", "文山",
"西双版纳", "西双版纳",
"玉溪", "玉溪",
"中甸", "中甸",
"昭通", "昭通");
break;
case "浙江" :
var cityOptions = new Array(
"杭州(*)", "杭州",
"安吉", "安吉",
"慈溪", "慈溪",
"定海", "定海",
"奉化", "奉化",
"海盐", "海盐",
"黄岩", "黄岩",
"湖州", "湖州",
"嘉兴", "嘉兴",
"金华", "金华",
"临安", "临安",
"临海", "临海",
"丽水", "丽水",
"宁波", "宁波",
"瓯海", "瓯海",
"平湖", "平湖",
"千岛湖", "千岛湖",
"衢州", "衢州",
"瑞安", "瑞安",
"绍兴", "绍兴",
"嵊州", "嵊州",
"台州", "台州",
"温岭", "温岭",
"温州", "温州");
break;
}
document.form1.city.options.length = 0;
for(var i = 0; i < cityOptions.length/2; i++) {
document.form1.city.options[i]=new Option(cityOptions[i*2],cityOptions[i*2+1]);
if (document.form1.city.options[i].value=="") document.form1.city.selectedIndex = i;
}
}
function initprovcity() {
for(var i = 0; i < document.form1.prv.options.length; i++) {
if (document.form1.prv.options[i].value=="") document.form1.prv.selectedIndex = i;
}
setcity();
}
onload=initprovcity;
-->

</SCRIPT>
</select>
jszjgqq
2010-02-26 · TA获得超过7.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:42%
帮助的人:1.7亿
展开全部
javascript在这个功能中扮演了极其重要的角色,我前些日子刚把它实现,不过费了我好长时间,可能是我资质太差了,呵呵,先和你说说实现的思路吧!!
总的来说,你要实现的这种功能,其实就是关联菜单,二级、三级或多级,虽然看起来不起眼,但实现起来还真不容易,尤其是我们业余选手,哈哈,不哆嗦了,言规正传:
先说关系吧,举个例子说一下,如下:
一级菜单:省份
二级菜单:县市
一、二级间存在对应关系,即选择不同的一级菜单,对应的二级菜单是要进行相应变化的。这些数据可以存于数据库的一张表里,表的结构如下:
列名:id provice city
我们要实现的功能就是,在改变第一个列表框的值时,第二个列表框里的值会立即发生变化。整体思路:当第一个列表框的值改变,触发on_change事件,然后打开一个新窗口,并且将列表框当前的值传递给新的窗口,新窗口接收传递来的数据,打开数据库,找出对应的市县,并将值赋给第二个列表框,然后关闭窗口,新窗口从打开到关闭,只是一瞬间。
第一步:我们从表中取出列provice的值,构成第一个列表框select_1,注意,要使用distinct关键字,选择唯一的省份;
第二步:设置列表框select_1的on_change事件:
<select name=select_1 on_change="window.open('new_window.asp?province='+this.value)">
<option>山东省</option>
......
</select>
第三步:
也就是new_window.asp的内容:
1、取值:
province=request("provice")
2、创建记录集,从数据库中取查找符合province的city结果
这就不用说了吧
3、利用javascript将记录集中的city值,循环赋给第二列表框
<%= "<script language='javascript'>" %>
<% do while not rs.eof %>
var new_opt=window.opener.document.createElement("OPTION");
new_opt.text="<%= rtrim(rs("市县")) %>";
new_opt.value="<%= rtrim(rs("市县")) %>";
window.opener.f1.s_menu.add(new_opt);
<% rs.movenext %>
<% loop %>
window.close();
<%= "</script>" %>
以上这段代码就是这个功能的核心,自己尝试一下,看看怎么样,别的不用说了,都在代码里了,不过这个功能需要一点javascript功底,同时浏览器要支持弹出窗口。
当然,这种方法应用的较为常见,也有应用数组来解决问题的,欢迎与你一同探讨问题的解决与优化。
希望能帮得上你!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
o0OooOOo
2010-02-26 · TA获得超过130个赞
知道小有建树答主
回答量:299
采纳率:0%
帮助的人:73.8万
展开全部
我把源码给你发,但是字体长度不够了, 你去我的空间拿回去吧, 把那个代码占到就行了,全部城市县的~~
我不多说了啊~~
哎呀~~ 地址我发错了, 那个不是了,你要的话加我, 发给你~
http://user.qzone.qq.com/929078783/blog/1264861652
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
KarasCanvas
2010-02-26 · TA获得超过2865个赞
知道大有可为答主
回答量:3619
采纳率:0%
帮助的人:3265万
展开全部
用javascript操作dom.

这里有个淘宝的使用例子,你可以自己研究一下,值用的是国家标准的行政区划代码。
http://www.taobao.com/home/js/sys/districtselector.js
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巫马英武75415
2010-02-26 · TA获得超过7404个赞
知道大有可为答主
回答量:1666
采纳率:50%
帮助的人:946万
展开全部
百度搜索一下“asp 二级联动”
会有很多教程(很简单)和源码可以下载到。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式