最近做某***市联通vip项目,需要用到绿色通道这个东西,自己参照网上的例子写了一个js的三级联动
function cn(){
this.Items = {};
}
cn.prototype.add = function(id,iArray){
this.Items[id] = iArray;
}
cn.prototype.Exi = function(id){
if(typeof(this.Items[id]) == "undefined"){return false;}
return true;
}
function chg(v){
if(v==3){return;}
var str="0";
for(i=0;i<v;i++){str+=("_"+(document.getElementById(s[i]).selectedIndex))};
var ss=document.getElementById(s[v]);
with(ss){
length = 0; //清理掉option
if(a_t.Exi(str)){
ar=a_t.Items[str];
for(i=0;i<ar.length;i++){
options[length]=new Option(ar[i],ar[i]);
if(ar[i]==o[v]){options[i].selected=true;}//如果列表内包含初始项目则默认选中
}
}
if(++v<s.length){chg(v);}
}
}
var s=["type1","type2","type3"];
var o=["全国","安徽","安庆"];
function setup(){
for(i=1;i<=3;i++){
document.getElementById(s[(i-1)]).οnchange=new Function("chg("+(i)+")");
}
chg(0);
}
var a_t = new cn();
a_t.add("0",["全国","**","营业厅"]);
a_t.add("0_0",["安徽","北京","重庆","福建","甘肃","广东","广西","贵州","海南","河北","河南","黑龙江","湖北","湖南","吉林","江苏","江西","辽宁","内蒙古","宁夏","青海","山东","山西","陕西","上海","天津","西藏","新疆","云南","浙江"]);
a_t.add("0_0_0",["安庆","蚌埠","巢湖","池州","滁州","阜阳","合肥","淮北","淮南","黄山","六安","马鞍山","宿州","铜陵","芜湖","宣城","亳州"]);
a_t.add("0_0_1",["北京"]);
a_t.add("0_0_2",["重庆"]);
a_t.add("0_0_3",["福州","龙岩","南平","宁德","莆田","泉州","三明","厦门","漳州"]);
a_t.add("0_0_4",["白银","定西","甘南藏族自治州","嘉峪关","金昌","酒泉","兰州","临夏回族自治州","陇南","平凉","庆阳","天水","武威","张掖"]);
a_t.add("0_0_5",["潮州","东莞","佛山","广州","河源","深圳","阳江","云浮","湛江","肇庆","中山","珠海"]);
a_t.add("0_0_6",["百色","北海","崇左","防城港","桂林","贵港","河池","贺州","来宾","柳州","南宁","钦州","梧州","玉林"]);
a_t.add("0_0_7",["安顺","毕节","贵阳","六盘水","黔东南苗族侗族自治州","黔南布依族苗族自治州","黔西南布依族苗族自治州","铜仁","遵义"]);
a_t.add("0_0_8",["澄迈县","定安县","东方","海口",,"琼中黎族苗族自治县","三亚","屯昌县","万宁","文昌","五指山","儋州"]);
a_t.add("0_0_9",["保定","沧州","承德","邯郸","衡水","廊坊","秦皇岛","石家庄","唐山","邢台","张家口"]);
a_t.add("0_0_10",["安阳","鹤壁","济源","焦作","开封","洛阳","南阳","平顶山","三门峡","商丘","新乡","信阳","许昌","郑州","周口","驻马店","漯河","濮阳"]);
a_t.add("0_0_11",["大庆","大兴安岭","哈尔滨","鹤岗","黑河","鸡西","佳木斯","牡丹江","七台河","齐齐哈尔","双鸭山","绥化","伊春"]);
a_t.add("0_0_12",["鄂州","恩施土家族苗族自治州","黄冈","黄石","荆门","荆州","潜江","神农架林区","十堰","随州","天门","武汉","仙桃","咸宁","襄樊","孝感","宜昌"]);
a_t.add("0_0_13",["常德","长沙","郴州","衡阳","怀化","娄底","邵阳","湘潭","湘西土家族苗族自治州","益阳","永州","岳阳","张家界","株洲"]);
a_t.add("0_0_14",["白城","白山","长春","吉林","辽源","四平","松原","通化","延边朝鲜族自治州"]);
a_t.add("0_0_15",["常州","淮安","连云港","南京","南通","苏州","宿迁","泰州","无锡","徐州","盐城","扬州","镇江"]);
a_t.add("0_0_16",["抚州","赣州","吉安","景德镇","九江","南昌","萍乡","上饶","新余","宜春","鹰潭"]);
a_t.add("0_0_17",["鞍山","本溪","朝阳","大连","丹东","抚顺","阜新","葫芦岛","锦州","辽阳","盘锦","沈阳","铁岭","营口"]);
a_t.add("0_0_18",["阿拉善盟","巴彦淖尔盟","包头","赤峰","鄂尔多斯","呼和浩特","呼伦贝尔","通辽","乌海","乌兰察布盟","锡林郭勒盟","兴安盟"]);
a_t.add("0_0_19",["固原","石嘴山","吴忠","银川"]);
a_t.add("0_0_20",["果洛藏族自治州","海北藏族自治州","海东","海南藏族自治州","海西蒙古族藏族自治州","黄南藏族自治州","西宁","玉树藏族自治州"]);
a_t.add("0_0_21",["滨州","德州","东营","菏泽","济南","济宁","莱芜","聊城","临沂","青岛","日照","泰安","威海","潍坊","烟台","枣庄","淄博"]);
a_t.add("0_0_22",["长治","大同","晋城","晋中","临汾","吕梁","朔州","太原","忻州","运城","阳泉"]);
a_t.add("0_0_23",["安康","宝鸡","汉中","商洛","铜川","渭南","西安","咸阳","延安","榆林"]);
a_t.add("0_0_24",["上海"]);
a_t.add("0_0_25",["天津"]);
a_t.add("0_0_26",["阿里","昌都","拉萨","林芝","那曲","日喀则","山南"]);
a_t.add("0_0_27",["乌鲁木齐","石河子","克拉玛依","伊犁","巴音郭勒","昌吉","克孜勒苏柯尔克孜","博尔塔拉","吐鲁番","哈密","喀什","和田","阿克苏"]);
a_t.add("0_0_28",["昆明","大理","曲靖","玉溪","昭通","楚雄","红河","文山","思茅","西双版纳","保山","德宏","丽江","怒江","迪庆","临沧"]);
a_t.add("0_0_29",["杭州","宁波","温州","嘉兴","湖州","绍兴","金华","衢州","舟山","台州","丽水"]);
a_t.add("0_1",["**"]);
a_t.add("0_1_0",["**"]);
a_t.add("0_2",["营业厅"]);
a_t.add("0_2_0",["营业厅"]);
jsp代码部分如下:
<script type="text/javascript" src="js/threeSelect.js"></script>
<body οnlοad="setup()">
<select id="type1" name="road.type1" ></select>
<select id="type2" name="road.type2"></select>
<select id="type3" name="road.type3" ></select>
android端
String province[]=new String[]{"安徽","北京","重庆","福建","甘肃","广东","广西","贵州","海南","河北","河南","黑龙江","湖北","湖南","吉林","江苏","江西","辽宁","内蒙古","宁夏","青海","山东","山西" ,"陕西","上海","天津","西藏","新疆","云南","浙江"};
String list[][] = new String[][]{
{"安庆","蚌埠","巢湖","池州","滁州","阜阳","合肥","淮北","淮南","黄山","六安","马鞍山","宿州","铜陵","芜湖","宣城","亳州"},
{"北京"},
{"重庆"},
{"福州","龙岩","南平","宁德","莆田","泉州","三明","厦门","漳州"},
{"白银","定西","甘南藏族自治州","嘉峪关","金昌","酒泉","兰州","临夏回族自治州","陇南","平凉","庆阳","天水","武威","张掖"},
{"潮州","东莞","佛山","广州","河源","深圳","阳江","云浮","湛江","肇庆","中山","珠海"},
{"百色","北海","崇左","防城港","桂林","贵港","河池","贺州","来宾","柳州","南宁","钦州","梧州","玉林"},
{"安顺","毕节","贵阳","六盘水","黔东南苗族侗族自治州","黔南布依族苗族自治州","黔西南布依族苗族自治州","铜仁","遵义"},
{"澄迈县","定安县","东方","海口","琼中黎族苗族自治县","三亚","屯昌县","万宁","文昌","五指山","儋州"},
{"保定","沧州","承德","邯郸","衡水","廊坊","秦皇岛","石家庄","唐山","邢台","张家口"},
{"安阳","鹤壁","济源","焦作","开封","洛阳","南阳","平顶山","三门峡","商丘","新乡","信阳","许昌","郑州","周口","驻马店","漯河","濮阳"},
{"大庆","大兴安岭","哈尔滨","鹤岗","黑河","鸡西","佳木斯","牡丹江","七台河","齐齐哈尔","双鸭山","绥化","伊春"},
{"鄂州","恩施土家族苗族自治州","黄冈","黄石","荆门","荆州","潜江","神农架林区","十堰","随州","天门","武汉","仙桃","咸宁","襄樊","孝感","宜昌"},
{"常德","长沙","郴州","衡阳","怀化","娄底","邵阳","湘潭","湘西土家族苗族自治州","益阳","永州","岳阳","张家界","株洲"},
{"白城","白山","长春","吉林","辽源","四平","松原","通化","延边朝鲜族自治州"},
{"常州","淮安","连云港","南京","南通","苏州","宿迁","泰州","无锡","徐州","盐城","扬州","镇江"},
{"抚州","赣州","吉安","景德镇","九江","南昌","萍乡","上饶","新余","宜春","鹰潭"},
{"鞍山","本溪","朝阳","大连","丹东","抚顺","阜新","葫芦岛","锦州","辽阳","盘锦","沈阳","铁岭","营口"},
{"阿拉善盟","巴彦淖尔盟","包头","赤峰","鄂尔多斯","呼和浩特","呼伦贝尔","通辽","乌海","乌兰察布盟","锡林郭勒盟","兴安盟"},
{"固原","石嘴山","吴忠","银川"},
{"果洛藏族自治州","海北藏族自治州","海东","海南藏族自治州","海西蒙古族藏族自治州","黄南藏族自治州","西宁","玉树藏族自治州"},
{"滨州","德州","东营","菏泽","济南","济宁","莱芜","聊城","临沂","青岛","日照","泰安","威海","潍坊","烟台","枣庄","淄博"},
{"长治","大同","晋城","晋中","临汾","吕梁","朔州","太原","忻州","运城","阳泉"},
{"安康","宝鸡","汉中","商洛","铜川","渭南","西安","咸阳","延安","榆林"},
{"上海"},
{"天津"},
{"阿里","昌都","拉萨","林芝","那曲","日喀则","山南"},
{"乌鲁木齐","石河子","克拉玛依","伊犁","巴音郭勒","昌吉","克孜勒苏柯尔克孜","博尔塔拉","吐鲁番","哈密","喀什","和田","阿克苏"},
{"昆明","大理","曲靖","玉溪","昭通","楚雄","红河","文山","思茅","西双版纳","保山","德宏","丽江","怒江","迪庆","临沧"},
{"杭州","宁波","温州","嘉兴","湖州","绍兴","金华","衢州","舟山","台州","丽水"}};
Bundle getValue=GreenCityActivity.this.getIntent().getExtras();
for(int k = 0 ;k<=list.length ;k++)
{
if(getValue.getInt("greenProvinceId")==k)
{
try {
for(int i=0;i<list[k].length;i++)
{
JSONObject jsonObject=new JSONObject();
jsonObject.put("greenCityName",list[k][i]);
jsonArray.put(jsonObject);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
String list[][] = new String[][]{
{"安庆","蚌埠","巢湖","池州","滁州","阜阳","合肥","淮北","淮南","黄山","六安","马鞍山","宿州","铜陵","芜湖","宣城","亳州"},
{"北京"},
{"重庆"},
{"福州","龙岩","南平","宁德","莆田","泉州","三明","厦门","漳州"},
{"白银","定西","甘南藏族自治州","嘉峪关","金昌","酒泉","兰州","临夏回族自治州","陇南","平凉","庆阳","天水","武威","张掖"},
{"潮州","东莞","佛山","广州","河源","深圳","阳江","云浮","湛江","肇庆","中山","珠海"},
{"百色","北海","崇左","防城港","桂林","贵港","河池","贺州","来宾","柳州","南宁","钦州","梧州","玉林"},
{"安顺","毕节","贵阳","六盘水","黔东南苗族侗族自治州","黔南布依族苗族自治州","黔西南布依族苗族自治州","铜仁","遵义"},
{"澄迈县","定安县","东方","海口","琼中黎族苗族自治县","三亚","屯昌县","万宁","文昌","五指山","儋州"},
{"保定","沧州","承德","邯郸","衡水","廊坊","秦皇岛","石家庄","唐山","邢台","张家口"},
{"安阳","鹤壁","济源","焦作","开封","洛阳","南阳","平顶山","三门峡","商丘","新乡","信阳","许昌","郑州","周口","驻马店","漯河","濮阳"},
{"大庆","大兴安岭","哈尔滨","鹤岗","黑河","鸡西","佳木斯","牡丹江","七台河","齐齐哈尔","双鸭山","绥化","伊春"},
{"鄂州","恩施土家族苗族自治州","黄冈","黄石","荆门","荆州","潜江","神农架林区","十堰","随州","天门","武汉","仙桃","咸宁","襄樊","孝感","宜昌"},
{"常德","长沙","郴州","衡阳","怀化","娄底","邵阳","湘潭","湘西土家族苗族自治州","益阳","永州","岳阳","张家界","株洲"},
{"白城","白山","长春","吉林","辽源","四平","松原","通化","延边朝鲜族自治州"},
{"常州","淮安","连云港","南京","南通","苏州","宿迁","泰州","无锡","徐州","盐城","扬州","镇江"},
{"抚州","赣州","吉安","景德镇","九江","南昌","萍乡","上饶","新余","宜春","鹰潭"},
{"鞍山","本溪","朝阳","大连","丹东","抚顺","阜新","葫芦岛","锦州","辽阳","盘锦","沈阳","铁岭","营口"},
{"阿拉善盟","巴彦淖尔盟","包头","赤峰","鄂尔多斯","呼和浩特","呼伦贝尔","通辽","乌海","乌兰察布盟","锡林郭勒盟","兴安盟"},
{"固原","石嘴山","吴忠","银川"},
{"果洛藏族自治州","海北藏族自治州","海东","海南藏族自治州","海西蒙古族藏族自治州","黄南藏族自治州","西宁","玉树藏族自治州"},
{"滨州","德州","东营","菏泽","济南","济宁","莱芜","聊城","临沂","青岛","日照","泰安","威海","潍坊","烟台","枣庄","淄博"},
{"长治","大同","晋城","晋中","临汾","吕梁","朔州","太原","忻州","运城","阳泉"},
{"安康","宝鸡","汉中","商洛","铜川","渭南","西安","咸阳","延安","榆林"},
{"上海"},
{"天津"},
{"阿里","昌都","拉萨","林芝","那曲","日喀则","山南"},
{"乌鲁木齐","石河子","克拉玛依","伊犁","巴音郭勒","昌吉","克孜勒苏柯尔克孜","博尔塔拉","吐鲁番","哈密","喀什","和田","阿克苏"},
{"昆明","大理","曲靖","玉溪","昭通","楚雄","红河","文山","思茅","西双版纳","保山","德宏","丽江","怒江","迪庆","临沧"},
{"杭州","宁波","温州","嘉兴","湖州","绍兴","金华","衢州","舟山","台州","丽水"}};
Bundle getValue=GreenCityActivity.this.getIntent().getExtras();
for(int k = 0 ;k<=list.length ;k++)
{
if(getValue.getInt("greenProvinceId")==k)
{
try {
for(int i=0;i<list[k].length;i++)
{
JSONObject jsonObject=new JSONObject();
jsonObject.put("greenCityName",list[k][i]);
jsonArray.put(jsonObject);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}