jquery实现二级城市联动

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
   <script src="jquery-1.11.3.js"></script>
   <script>
      var province = ["黑龙江","吉林","辽宁"];
      var cities = [
         ["哈尔滨","齐齐哈尔","牡丹江"],
         ["长春","吉林","四平"],
         ["沈阳","大连","铁岭"]
      ];

      $(function(){
         //1、构建 <option>请选择</option>,并增加到selProvince中
         var $opSel = $("<option>请选择</option>");
         $opSel.attr("value","-1");
         $("#selProvince").append($opSel);
         //2、循环遍历 province 数组,取出每一个元素构建成option并增加到selProvince中
         for(var i=0;i<province.length;i++){
            var $op = $("<option></option>");
            $op.html(province[i]);
            $op.attr("value",i);
            $("#selProvince").append($op);
         }

         //3、为selProvince绑定change事件
         $("#selProvince").change(function(event){
            console.log($(event.target));
            //判断是否存在 #selCity 元素
            if($("#selCity").length > 0){
               $("#selCity").remove();
            }

            //如果选项不是 请选择(-1) 的话
            if(this.value != -1){
               //1、创建一个 <select></select>,并设置id
               var $sel = $("<select></select>");
               $sel.attr("id","selCity");
               //2、将$sel加载到网页上
               //$("body").append($sel);
               $(this).after($sel);
               //3、从 cities 数组中获取对应的数据并构建  option 添加到 $sel 上
               //console.log(cities[this.value]);
               for(var i=0;i<cities[this.value].length;i++){
                  var $opC=$("<option></option>");
                  $opC.attr("value",i);
                  $opC.html(cities[this.value][i]);
                  $sel.append($opC);
               }
            }

         });
      });
   </script>
 </head>
 <body>
  <select id="selProvince"></select>
 </body>
</html>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值