/**
 * 省份和城市的二级联动选择，本脚本中显示文本和value都是一样的值
 * 使用方法：
 * 1.用于新建页面
 * <body onload="init(p_id,c_id)"> 其中，p_id是省份select元素的id的值，c_id是城市select元素的id值
 * <select id="province" onchange="select(this,c_id)">
 * 2.用于修改页面
 * <body onload="initEdit(p_id,c_id,p_value,c_value)"> 其中，p_id是省份select元素的id的值，c_id是城市select元素的id值,p_value是省的值,c_value是城市的值
 * <select id="province" onchange="select(this,c_id)">
**/
var where = new Array(35); 
function comefrom(loca,locacity) { this.loca = loca; this.locacity = locacity; }  
where[0]= new comefrom("请选择","请选择"); 
where[1] = new comefrom("北京","请选择|北京"); 
where[2] = new comefrom("上海","请选择|上海"); 
where[3] = new comefrom("天津","请选择|天津"); 
where[4] = new comefrom("重庆","请选择|重庆"); 
where[5] = new comefrom("河北","请选择|石家庄|邯郸|邢台|保定|张家口|承德|廊坊|唐山|秦皇岛|沧州|衡水|迁安|任丘"); 
where[6] = new comefrom("山西","请选择|太原|大同|阳泉|长治|晋城|朔州|吕梁|忻州|晋中|临汾|运城|介休|平遥|永济"); 
where[7] = new comefrom("内蒙古","请选择|呼和浩特|包头|乌海|赤峰|通辽|呼伦贝尔|阿拉善盟|鄂尔多斯|兴安盟|乌兰察布|锡林郭勒|锡林浩特|巴彦淖尔|满洲里"); 
where[8] = new comefrom("辽宁","请选择|沈阳|大连|鞍山|抚顺|本溪|丹东|锦州|营口|阜新|辽阳|盘锦|铁岭|朝阳|葫芦岛|兴城"); 
where[9] = new comefrom("吉林","请选择|长春|吉林|四平|辽源|通化|白山|松原|白城|延边|珲春"); 
where[10] = new comefrom("黑龙江","请选择|哈尔滨|齐齐哈尔|牡丹江|佳木斯|大庆|绥化|鹤岗|鸡西|黑河|双鸭山|伊春|七台河|大兴安岭|绥芬河"); 
where[11] = new comefrom("江苏","请选择|南京|镇江|苏州|南通|扬州|盐城|徐州|连云港|常州|无锡|宿迁|泰州|淮安|常熟|丹阳|东台|高邮|海安|海门|江都|江阴|姜堰|金坛|靖江|昆山|溧阳|启东|如皋|泗阳县|太仓|泰兴|同里|吴江|新沂|盱眙|扬中|宜兴|张家港|周庄"); 
where[12] = new comefrom("浙江","请选择|杭州|宁波|温州|嘉兴|湖州|绍兴|金华|衢州|舟山|台州|丽水|桐乡|慈溪|奉化|富阳|海宁|东阳|嘉善|建德|兰溪|乐青|临安|临海|平湖|千岛湖|瑞安|上虞|义乌|永康|余姚"); 
where[13] = new comefrom("安徽","请选择|合肥|芜湖|蚌埠|马鞍山|淮北|铜陵|安庆|黄山|滁州|宿州|池州|淮南|巢湖|阜阳|六安|宣城|亳州|宁国|天柱山|桐城"); 
where[14] = new comefrom("福建","请选择|福州|厦门|莆田|三明|泉州|漳州|南平|龙岩|宁德|福鼎|福清|晋江|连城|石狮"); 
where[15] = new comefrom("江西","请选择|南昌市|景德镇|九江|鹰潭|萍乡|新余|赣州|吉安|宜春|抚州|上饶|井岗山|德兴|庐山|婺源"); 
where[16] = new comefrom("山东","请选择|济南|青岛|淄博|枣庄|东营|烟台|潍坊|济宁|泰安|威海|日照|莱芜|临沂|德州|聊城|滨州|菏泽|肥城|海阳|即墨|胶南|胶州|莱西|龙口|蓬莱|青州|曲阜|荣成|寿光|文登|兖州"); 
where[17] = new comefrom("河南","请选择|郑州|开封|洛阳|平顶山|安阳|鹤壁|新乡|焦作|濮阳|许昌|漯河|三门峡|南阳|商丘|信阳|周口|驻马店|济源|登封|林州|新密"); 
where[18] = new comefrom("湖北","请选择|武汉|宜昌|荆州|襄樊|黄石|荆门|黄冈|十堰|恩施|潜江|天门|仙桃|随州|咸宁|孝感|鄂州|神农架|应城|赤壁|大冶|钟祥"); 
where[19] = new comefrom("湖南","请选择|长沙|常德|株洲|湘潭|衡阳|岳阳|邵阳|益阳|娄底|怀化|郴州|永州|湘西|张家界|凤凰县|吉首|浏阳|韶山"); 
where[20] = new comefrom("广东","请选择|广州|深圳|珠海|汕头|东莞|中山|佛山|韶关|江门|湛江|茂名|肇庆|惠州|梅州|汕尾|河源|阳江|清远|潮州|揭阳|云浮|开平|汕尾|台山"); 
where[21] = new comefrom("广西","请选择|南宁|柳州|桂林|梧州|北海|防城港|钦州|贵港|玉林|贺州|百色|河池|龙胜|兴安|阳朔"); 
where[22] = new comefrom("海南","请选择|海口|三亚|琼海|万宁|文昌|五指山|东方|临高|陵水|儋州|昌江|乐东|保亭|安定县|博鳌"); 
where[23] = new comefrom("四川","请选择|成都|绵阳|德阳|自贡|攀枝花|广元|内江|乐山|南充|宜宾|广安|达州|雅安|眉山|甘孜|凉山|泸州|阿坝藏族羌族自治州|遂宁|巴中|资阳|都江堰|峨眉山|江油|阆中|邛崃|西昌"); 
where[24] = new comefrom("贵州","请选择|贵阳|六盘水|遵义|安顺|铜仁|黔西南|毕节|黔东南|黔南|都匀|凯里|荔波|兴义"); 
where[25] = new comefrom("云南","请选择|昆明|大理|曲靖|玉溪|昭通|楚雄|红河|文山|普洱|西双版纳|保山|德宏|丽江|怒江|迪庆|临沧"); 
where[26] = new comefrom("西藏","请选择|拉萨|日喀则|山南|林芝|昌都|阿里|那曲"); 
where[27] = new comefrom("陕西","请选择|西安|宝鸡|咸阳|铜川|渭南|延安|榆林|汉中|安康|商洛|华阴"); 
where[28] = new comefrom("甘肃","请选择|兰州|嘉峪关|金昌|白银|天水|酒泉|张掖|武威|定西|陇南|平凉|庆阳|临夏|甘南|敦煌"); 
where[29] = new comefrom("宁夏","请选择|银川|石嘴山|吴忠|固原|中卫"); 
where[30] = new comefrom("青海","请选择|西宁|海东|海南|海北|黄南|玉树|果洛|海西"); 
where[31] = new comefrom("新疆","请选择|乌鲁木齐|石河子|克拉玛依|伊犁|巴音郭勒|昌吉|克孜勒苏柯尔克孜|博尔塔拉|吐鲁番|哈密|喀什|和田|阿克苏|阿勒泰|塔城|库尔勒"); 
where[32] = new comefrom("香港","请选择|香港"); 
where[33] = new comefrom("澳门","请选择|澳门"); 
where[34] = new comefrom("台湾","请选择|台北|高雄|台中|台南|屏东|南投|云林|新竹|彰化|苗栗|嘉义|花莲|桃园|宜兰|基隆|台东|金门|马祖|澎湖"); 
where[35] = new comefrom("其它","请选择|北美洲|南美洲|亚洲|非洲|欧洲|大洋洲"); 
  
function select(obj,c_id) { 
    var p_value = obj.value;    
    var city = document.getElementById(c_id); 
    city.selectedIndex = 0;
    for(i = 0;i < where.length;i ++) { 
        if (where[i].loca == p_value) { 
            cities = (where[i].locacity).split("|");             
            for(j = 0;j < cities.length;j++) {
             city.options.length = cities.length; 
             city.options[j].text = cities[j]; 
             city.options[j].value = cities[j];
            }
        }         
    }    
} 
function init(p_id,c_id) { 
    var province = document.getElementById(p_id); 
    var city = document.getElementById(c_id);     
    with(province) { 
        length = where.length; 
        for(k=0;k<where.length;k++) { options[k].text = where[k].loca; options[k].value = where[k].loca; }
        options[selectedIndex].text = where[0].loca; options[selectedIndex].value = where[0].loca;      
    } 
    with(city) { 
        cities = (where[0].locacity).split("|"); 
        length = cities.length; 
        for(l=0;l<length;l++) { options[l].text = cities[l]; options[l].value = cities[l]; } 
        options[selectedIndex].text = cities[0]; options[selectedIndex].value = cities[0]; 
    }
} 
function initEdit(p_id,c_id,p_value,c_value) {
    var province = document.getElementById(p_id); 
    var city = document.getElementById(c_id);
    var selected=0;
    with(province) { 
        length = where.length; 
        for(k=0;k<where.length;k++) { 
         options[k].text = where[k].loca; 
         options[k].value = where[k].loca; 
         if(p_value==where[k].loca){
          options[k].selected=true;
          selected=k;
         }
        }       
    } 
    with(city) { 
        cities = (where[selected].locacity).split("|"); 
        length = cities.length; 
        for(l=0;l<length;l++) { 
         options[l].text = cities[l]; 
         options[l].value = cities[l]; 
         if(c_value==cities[l]){
          options[l].selected=true;
         }
        } 
        //options[selectedIndex].text = cities[0]; options[selectedIndex].value = cities[0]; 
       
    }
} 
function initProvince(p_id,selected) { 
    var province = document.getElementById(p_id);     
    with(province) { 
        length = where.length; 
        for(k=0;k<where.length;k++) { 
         options[k].text = where[k].loca; 
         options[k].value = where[k].loca; 
         if(selected.length>0){
          if(selected==where[k].loca){
           options[k].selected=true;
          }
         }
        } 
        options[selectedIndex].text = where[0].loca; 
        options[selectedIndex].value = where[0].loca; 
    }     
} 

