js 省市2级联动效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
    <title> </title>
</head>
<body>
<a href="javascript:;" οnclick="add()">添加</a>
<p >省:<select  id='slcProvince'></select>市:<select  id='slcCity'></select>  </p> 

<p >省:<select  id='Select1'></select>市:<select  id='Select2'></select>  </p> 
<p >省:<select  id='Select3'></select>市:<select  id='Select4'></select>  </p> 
</body>
<script type="text/javascript">

    
   
var __provinceAndCity = null;
window.οnlοad=function (){
        __provinceAndCity = new __ProvinceAndCityClass($("slcProvince"),$("slcCity"));

        new __ProvinceAndCityClass($("Select1"),$("Select2"));
         new __ProvinceAndCityClass($("Select3"),$("Select4"));
         /**
       include("http://fw.qq.com/ipaddress?t="+Math.random(),'gb2312',function(){
          // IPData[0] ip     IPData[2] 省     IPData[3] 市
           __provinceAndCity.selectProvince.value = IPData[2];
           __provinceAndCity.SlcProvinceChanged();
           __provinceAndCity.selectCity.value = IPData[3];
       });*/
      
       include(" http://counter.sina.com.cn/ip?t="+Math.random(),'gb2312',function(){
          //  var ILData = new Array("125.69.90.148","中国", "四川省", "成都市", "电信");
           __provinceAndCity.selectProvince.value = ILData[2];
           __provinceAndCity.SlcProvinceChanged();
           __provinceAndCity.selectCity.value = ILData[3];
       });
};
function add(){
    var div= document.createElement("div");
    div.innerHTML = "省:<select  ></select>市:<select></select>";
    document.body.appendChild(div);
    setTimeout(function(){
        var slcs = $$("select",div);
        new __ProvinceAndCityClass(slcs[0],slcs[1]);
    },500);
}

var $ = function (id,obj) {  
    obj = obj|| document;
    return "string" == typeof id ? obj.getElementById(id) : id;   
};  
var $$ = function (name,obj) {  
    obj = obj|| document;
    return "string" == typeof name ? obj.getElementsByTagName(name) : name;   
};  
 
 // 动态导入js
function include(src,encoding,fun) 
{ 
    var s = document.createElement('script');   
    s.type='text/javascript';
    s.charset=encoding; //'gb2312';
    s.src = src;   
    var tags =$$('head');   
   if(typeof(fun)=='function'){
        if( document.all ){
           s.onreadystatechange = function(){
                if(/(complete|loaded)/.test(this.readyState)){
                      fun(); s.onreadystatechange = null; s.parentNode.removeChild(s);
                 }};
       }else{
             s.onload = function(){  fun(); s.onload = null; s.parentNode.removeChild(s); };
       }
    } 
    tags[0].appendChild(s); 
};

function __ProvinceAndCityClass(slcProvince,slcCity)
{
    this.selectProvince = slcProvince;
    this.selectCity = slcCity;
    this.InitData();
}
__ProvinceAndCityClass.prototype.SlcProvinceChanged = function()
    {
        var obj=this;
        var provinceIndex = obj.selectProvince.selectedIndex;
        obj.selectCity.options.length = 0;   
         for(var index=0;index< obj.CityList[provinceIndex].length;index++)
        {
            obj.selectCity.options.add(new Option(obj.CityList[provinceIndex][index],obj.CityList[provinceIndex][index]));
        }
        obj.selectCity.value = obj.CityList[provinceIndex][0];
    };

__ProvinceAndCityClass.prototype.InitData=function()
    {
       var obj = this;
      //初始化数据
       
        for(var index=0;index< obj.ProvinceList.length;index++)
        {
            obj.selectProvince.options.add(new Option(obj.ProvinceList[index],obj.ProvinceList[index]));
        }
        obj.selectProvince.value = obj.ProvinceList[0];
        obj.selectProvince.onchange =function(){ obj.SlcProvinceChanged.call(obj)};
        obj.SlcProvinceChanged.call(obj); 
    };
// 西藏 宁夏 新疆 内蒙古 青海 北京市 上海市 重庆市
__ProvinceAndCityClass.prototype.ProvinceList=["北京市","天津市","上海市","重庆市","河北省","山西省","台湾省","辽宁省","吉林省","黑龙江省","江苏省", "浙江省","安徽省","福建省","江西省","山东省",
     "河南省","湖北省","湖南省","广东省","甘肃省","四川省","贵州省","海南省","云南省","青海省","陕西省","广西","西藏","宁夏","新疆","内蒙","澳门","香港","国外与其它"];
  __ProvinceAndCityClass.prototype.CityList=
    [
        ["北京市"],["天津市"],["上海市"],["重庆市"],
        ["石家庄市","唐山市","秦皇岛市","邯郸市","邢台市","保定市","张家口市","承德市","沧州市","廊坊市","衡水市"],
        ["太原市","大同市","阳泉市","长治市","晋城市","朔州市","晋中市","运城市","忻州市","临汾市","吕梁市"],
        ["台北市","高雄市","基隆市","台中市","台南市","新竹市","嘉义市","台北县","宜兰县","桃园县","新竹县","苗栗县","台中县","彰化县","南投县","云林县","嘉义县","台南县","高雄县","屏东县","澎湖县","台东县","花莲县"],
        ["沈阳市","大连市","鞍山市","抚顺市","本溪市","丹东市","锦州市","营口市","阜新市","辽阳市","盘锦市","铁岭市","朝阳市","葫芦岛市"],
        ["长春市","吉林市","四平市","辽源市","通化市","白山市","松原市","白城市","延边朝鲜族自治州"],
        ["哈尔滨市","齐齐哈尔市","鹤岗市","双鸭山市","鸡西市","大庆市","伊春市","牡丹江市","佳木斯市","七台河市","黑河市","绥化市","大兴安岭地区"],
        ["南京市","无锡市","徐州市","常州市","苏州市","南通市","连云港市","淮安市","盐城市","扬州市","镇江市","泰州市","宿迁市"],
        ["杭州市","宁波市","温州市","嘉兴市","湖州市","绍兴市","金华市","衢州市","舟山市","台州市","丽水市"],
        ["合肥市","芜湖市","蚌埠市","淮南市","马鞍山市","淮北市","铜陵市","安庆市","黄山市","滁州市","阜阳市","宿州市","巢湖市","六安市","亳州市","池州市","宣城市"],
        ["福州市","厦门市","莆田市","三明市","泉州市","漳州市","南平市","龙岩市","宁德市"],
        ["南昌市","景德镇市","萍乡市","九江市","新余市","鹰潭市","赣州市","吉安市","宜春市","抚州市","上饶市"],
        ["济南市","青岛市","淄博市","枣庄市","东营市","烟台市","潍坊市","济宁市","泰安市","威海市","日照市","莱芜市","临沂市","德州市","聊城市","滨州市","菏泽市"],
        ["郑州市","开封市","洛阳市","平顶山市","安阳市","鹤壁市","新乡市","焦作市","濮阳市","许昌市","漯河市","三门峡市","南阳市","商丘市","信阳市","周口市","驻马店市","济源市"],
        ["武汉市","黄石市","十堰市","荆州市","宜昌市","襄樊市","鄂州市","荆门市","孝感市","黄冈市","咸宁市","随州市","仙桃市","天门市","潜江市","神农架林区","恩施土家族苗族自治州"],
        ["长沙市","株洲市","湘潭市","衡阳市","邵阳市","岳阳市","常德市","张家界市","益阳市","郴州市","永州市","怀化市","娄底市","湘西土家族苗族自治州"],
        ["广州市","深圳市","珠海市","汕头市","韶关市","佛山市","江门市","湛江市","茂名市","肇庆市","惠州市","梅州市","汕尾市","河源市","阳江市","清远市","东莞市","中山市","潮州市","揭阳市","云浮市"],
        ["兰州市","金昌市","白银市","天水市","嘉峪关市","武威市","张掖市","平凉市","酒泉市","庆阳市","定西市","陇南市","临夏回族自治州","甘南藏族自治州"],
        ["成都市","自贡市","攀枝花市","泸州市","德阳市","绵阳市","广元市","遂宁市","内江市","乐山市","南充市","眉山市","宜宾市","广安市","达州市","雅安市","巴中市","资阳市","阿坝藏族羌族自治州","甘孜藏族自治州","凉山彝族自治州"],
        ["贵阳市","六盘水市","遵义市","安顺市","铜仁地区","毕节地区","黔西南布依族苗族自治州","黔东南苗族侗族自治州","黔南布依族苗族自治州"],
        ["海口市","三亚市","五指山市","琼海市","儋州市","文昌市","万宁市","东方市","澄迈县","定安县","屯昌县","临高县","白沙黎族自治县","昌江黎族自治县","乐东黎族自治县","陵水黎族自治县","保亭黎族苗族自治县","琼中黎族苗族自治县"],
        ["昆明市","曲靖市","玉溪市","保山市","昭通市","丽江市","思茅市","临沧市","文山壮族苗族自治州","红河哈尼族彝族自治州","西双版纳傣族自治州","楚雄彝族自治州","大理白族自治州","德宏傣族景颇族自治州","怒江傈傈族自治州","迪庆藏族自治州"],
        ["西宁市","海东地区","海北藏族自治州","黄南藏族自治州","海南藏族自治州","果洛藏族自治州","玉树藏族自治州","海西蒙古族藏族自治州"],
        ["西安市","铜川市","宝鸡市","咸阳市","渭南市","延安市","汉中市","榆林市","安康市","商洛市"],
        ["南宁市","柳州市","桂林市","梧州市","北海市","防城港市","钦州市","贵港市","玉林市","百色市","贺州市","河池市","来宾市","崇左市"],
        ["拉萨市","那曲地区","昌都地区","山南地区","日喀则地区","阿里地区","林芝地区"],
        ["银川市","石嘴山市","吴忠市","固原市","中卫市"],
        ["乌鲁木齐市","克拉玛依市","石河子市 ","阿拉尔市","图木舒克市","五家渠市","吐鲁番市","阿克苏市","喀什市","哈密市","和田市","阿图什市","库尔勒市","昌吉市 ","阜康市","米泉市","博乐市","伊宁市","奎屯市","塔城市","乌苏市","阿勒泰市"],
        ["呼和浩特市","包头市","乌海市","赤峰市","通辽市","鄂尔多斯市","呼伦贝尔市","巴彦淖尔市","乌兰察布市","锡林郭勒盟","兴安盟","阿拉善盟"],
        ["澳门"],
        ["香港"],
        ["国外或其它"]
    ];
</script>
</html>

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值