JavaScript实现的级联算法示例【省市二级联动功能】


Posted in Javascript onDecember 25, 2018

本文实例讲述了JavaScript实现的级联算法。分享给大家供大家参考,具体如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>LinkDemo</title>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    </script>
    <script type="text/javascript">
      var shengshiString = "1_山东省-11_德州市+12_青岛市+13_济南市~2_河北省-21_邯郸市*211_临漳县/212_磁县+22_石家庄市*221_定县/222_宁县+23_保定市";
      $(document).ready(function(){
        init();
      });
      function init(){
        var shengArray = shengshiString.split("~");
        for (var i = 0; i < shengArray.length; i++) {
          var sheng = shengArray[i].split("-")[0];
          var shi = shengArray[i].split("-")[1];
          var shengid = sheng.split("_")[0];
          var shengName = sheng.split("_")[1];
          var Newoption = $("<option></option>");
          $(Newoption).val(shengid);
          $(Newoption).text(shengName);
          $("#sheng").append(Newoption);
          if (i == 0) {
            shengchange(shengid);
          }
        }
      }
      function shengchange(shengidparam){
        $("#shi").empty();
        var shengArray = shengshiString.split("~");
        for (var i = 0; i < shengArray.length; i++) {
          var shengString = shengArray[i].split("-")[0];
          var shiString = shengArray[i].split("-")[1];
          var shengId = shengString.split("_")[0];
          if (shengidparam == shengId) {
            var shiArray = shiString.split("+");
            for (var j = 0; j < shiArray.length; j++) {
              var shistring = shiArray[j].split("*")[0];
              var shi = shistring;
              var shiId = shi.split("_")[0];
              var shiName = shi.split("_")[1];
              var Newoption = $("<option></option>");
              $(Newoption).val(shiId);
              $(Newoption).text(shiName);
              $("#shi").append(Newoption);
              if (shiName == "邯郸市" || shiName == "石家庄市") {
                shichange(shiId);
              }
            }
          }
        }
      }
      function shichange(shiidparam){
        $("#xian").empty();
        var shengArray = shengshiString.split("~");
        for (var i = 0; i < shengArray.length; i++) {
          var shengString = shengArray[i].split("-")[0];
          var shiString = shengArray[i].split("-")[1];
          var shengId = shengString.split("_")[0];
          var shiArray = shiString.split("+");
          for (var j = 0; j < shiArray.length; j++) {
            var shistring = shiArray[j].split("*")[0];
            var xianarray = shiArray[j].split("*")[1];
            var shi = shistring;
            var shiId = shi.split("_")[0];
            var shiName = shi.split("_")[1];
            if (shiId == shiidparam) {
              var xian = xianarray.split("/");
              for (var s = 0; s < xian.length; s++) {
                var xianId = xian[s].split("_")[0];
                var xianName = xian[s].split("_")[1];
                var Newoption = $("<option></option>");
                $(Newoption).val(xianId);
                $(Newoption).text(xianName);
                $("#xian").append(Newoption);
              }
            }
          }
        }
      }
    </script>
  </head>
  <body>
    <select id="sheng" onchange="shengchange(this.value)">
    </select>
    <select id="shi" onchange="shichange(this.value)">
    </select>
    <select id="xian">
    </select>
  </body>
</html>

使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,运行效果如下图所示:

JavaScript实现的级联算法示例【省市二级联动功能】

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
防止文件缓存的js代码
Jan 10 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
Jan 23 Javascript
js网页版计算器的简单实现
Jul 02 Javascript
9款2014最热门jQuery实用特效推荐
Dec 07 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
Apr 30 Javascript
JavaScript面向对象之私有静态变量实例分析
Jan 14 Javascript
JQuery点击行tr实现checkBox选中的简单实例
May 26 Javascript
基于jQuery实现数字滚动效果
Jan 16 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
Dec 29 Javascript
webpack+react+antd脚手架优化的方法
Apr 02 Javascript
Angular5中提取公共组件之radio list的实例代码
Jul 10 Javascript
如何在VUE中使用vue-awesome-swiper
Jan 04 Vue.js
详解vuex commit保存数据技巧
Dec 25 #Javascript
bootstrap table实现合并单元格效果
Dec 24 #Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
Dec 24 #Javascript
Windows下支持自动更新的Electron应用脚手架的方法
Dec 24 #Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
Dec 24 #Javascript
Vue.js组件高级特性实例详解
Dec 24 #Javascript
JavaScript模板引擎原理与用法详解
Dec 24 #Javascript
You might like
短波的认识
2021/03/01 无线电
php 中文处理函数集合
2008/08/27 PHP
PHP实现多图片上传类实例
2014/07/26 PHP
PHP xpath()函数讲解
2019/02/11 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
node.js中的events.EventEmitter.listenerCount方法使用说明
2014/12/08 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
利用angularjs1.4制作的简易滑动门效果
2017/02/28 Javascript
Angular排序实例详解
2017/06/28 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
2017/12/18 Javascript
vue实现树形菜单效果
2018/03/19 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
JavaScript函数的4种调用方法实例分析
2019/03/05 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
BootstrapValidator实现表单验证功能
2019/11/08 Javascript
python 正则式 概述及常用字符
2009/05/07 Python
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
Python的Flask框架与数据库连接的教程
2015/04/20 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
新加坡最受追捧的体验平台:Hapz
2018/01/01 全球购物
大学新生军训感言
2014/02/25 职场文书
餐厅执行经理岗位职责范本
2014/02/26 职场文书
小学清明节活动总结
2014/07/04 职场文书
2014年物业公司工作总结
2014/11/22 职场文书
2015大学生自我评价范文
2015/03/03 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
投诉信格式范文
2015/07/02 职场文书
MySQL存储过程及语法详解
2022/08/05 MySQL