JQuery实现省市区的三级联动

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>Insert title here</title>
 <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
 <script type="text/javascript">
     /*添加省*/
     var province=["湖北省","吉林省","河北省","海南省"];
     $(document).ready(function(){
         //当文档加载结束在div标签后添加select列表
         $("div").after("<select><option>请选择省</option></select>");
         $("select").attr("id","pro");
         ; i < province.length; i++){
             //获取select标签下的最后一个option标签并在后面不断添加option选项直到循环结束
             $('#pro option:last').after("<option>"+province[i]+"</option");
         }
     })
     /*添加市*/
     var city=[
         ["襄阳市","武汉市","荆州市"],
         ["长春市","吉林市","榆树市"],
         ["唐山市","石家庄市","秦皇岛市"],
         ["沙市区","荆州区"]
     ];
     var town=[
         [
             ["襄州区","襄城区","樊城市"],
             ["武昌区","江汉区","江夏区"],
             ["襄阳市","武汉市","荆州市"]
         ],
         [
             ["朝阳区","南关区","宽城区"],
             ["龙潭区","船营区","昌邑区"],
             ["正阳街道","培英街道","华昌街道"]
         ],
         [
             ["路南区","路北区","古冶区"],
             ["长安区","桥西区","新华区"],
             ["海港区","山海关区","北戴河区"]
         ],
         [
             ["秀英区","琼山区","美兰区"],
             ["西沙群岛","中沙群岛","南沙群岛"],
             ["海棠区","吉阳区","天涯区"]
         ]
     ]
     $(document).ready(function(){
         //当文档加载结束在div标签后添加select列表
         $("#pro").after("<select><option>请选择市</option></select");
         $("select:contains(请选择市)").attr("id","cit");
         $("#cit").after("<select><option>请选择区</option></select");
         $("select:contains(请选择区)").attr("id","two");
         $("#pro option").click(function(){
             var indexO=$("option").index($(this));
             ){
                 //替换原来select中的内容
                 $("#cit").replaceWith("<select><option>请选择市</option></select");
                 //此处会将select的id属性清空,故需要再次赋给id属性
                 $("select:contains(请选择市)").attr("id","cit");
                 $("#two").replaceWith("<select><option>请选择区</option></select");
                 $("select:contains(请选择区)").attr("id","two");
             }
             else{
                 ];
                 ];
                 ];
                 //清空样式
                 $("#two").empty();
                 $("#cit").empty();
                 console.log(townn);
                 ; i < cityy.length; i++){
                     $('#cit').append("<option>"+cityy[i]+"</option");
                 }
                 ; i < townl.length; i++){
                     //当未选择市的时候,自动将第一个市下的区放入select中
                     $('#two').append("<option>"+townl[i]+"</option");
                 }
                 $("#cit option").click(function(){
                     var indexT=$("#cit option").index($(this));
                     var townm = townn[indexT];
                     $("#two").empty();
                     ; i < townm.length; i++){
                         $('#two').append("<option>"+townm[i]+"</option");
                     }
                 })
             }
         })
     })
 </script>
 </head>
 <body>
 <div></div>
 </body>
 </html>

调试

备注

  1. 需要掌握jQuery选择器,基本语法,事件,DOM属性等知识
  2. 对jQuery文档操作要对比学习

最新文章

  1. spring applicationContext.xml和hibernate.cfg.xml设置
  2. 为什么要重写hashcode() 方法
  3. JBoss QuickStart之Helloworld
  4. OpenCV2计算机编程手册(一)操作像素
  5. rails日记1
  6. Android PullToRefresh (GridView 下拉刷新上拉加载)
  7. fancybox 基础 简单demo
  8. [saiku] 集成单点登录
  9. DedeCms完美的FLASH幻灯代码
  10. Leetcode#49 Anagrams
  11. linux io优化
  12. Thinkphp的页面判断
  13. linux时间同步,ntpd、ntpdate
  14. JS基础知识:Javascript事件触发列表
  15. 开涛spring3(6.6) - AOP 之 6.6 通知参数
  16. NOIP2018:The First Step
  17. 解决React Native:Error: Cannot find module &#39;asap/raw&#39;
  18. [matlab] 10.最小覆盖
  19. HDU4622 Reincarnation 字符串 SAM
  20. MySQL之单表查询

热门文章

  1. 使用freemarker对模板进行渲染
  2. Nginx+Django搭建
  3. 在windows 下使用eclipse进行编译和烧写
  4. 程序的流程控制-分支结构 if
  5. R语言-编写自定义函数 ZZ
  6. Java中的代理机制
  7. springboot知识点补充(一)
  8. java相关技术问答(二)
  9. 《机器学习实战(基于scikit-learn和TensorFlow)》第二章内容的学习心得
  10. 5月份值得一看的 Java 技术干货!