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 相关文章推荐
jquery插件 autoComboBox 下拉框
Dec 22 Javascript
深入理解JavaScript作用域和作用域链
Oct 21 Javascript
jquery 延迟执行实例介绍
Aug 20 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
May 07 Javascript
JavaScript实现仿网易通行证表单验证
May 25 Javascript
jQuery获取同级元素的简单代码
Jul 09 Javascript
详解jQuery简单的表单应用
Dec 16 Javascript
two.js之实现动画效果示例
Nov 06 Javascript
vue使用中的内存泄漏【推荐】
Jul 10 Javascript
解决Layui数据表格中checkbox位置不居中的方法
Aug 15 Javascript
js实现全选和全不选功能
Jul 28 Javascript
JavaScript实现简单日历效果
Sep 11 Javascript
详解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
不用mod_rewrite直接用php实现伪静态化页面代码
2008/10/04 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
2014/11/18 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
PDO::prepare讲解
2019/01/29 PHP
JavaScript使用prototype定义对象类型(转)[
2006/12/22 Javascript
js中更短的 Array 类型转换
2011/10/30 Javascript
服务器端的JavaScript脚本 Node.js 使用入门
2012/03/07 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
JavaScript中的undefined学习总结
2013/11/30 Javascript
javascript实现复制与粘贴操作实例
2014/10/16 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
js select实现省市区联动选择
2020/04/17 Javascript
JavaScript获取短信验证码(周期性)
2016/12/29 Javascript
详解vue的数据binding绑定原理
2017/04/12 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
python实现数通设备端口监控示例
2014/04/02 Python
搞笑的程序猿:看看你是哪种Python程序员
2015/06/12 Python
Python变量作用范围实例分析
2015/07/07 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
关于tf.reverse_sequence()简述
2020/01/20 Python
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
仓管岗位职责范本
2014/02/08 职场文书
致接力运动员广播稿
2014/02/17 职场文书
导师推荐信范文
2014/05/09 职场文书
植树节口号
2014/06/21 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
环境卫生整治简报
2015/07/20 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
DBCA命令行搭建Oracle ADG的流程
2021/06/11 Oracle
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL
攻略丨滑雪究竟该选哪款对讲机?
2022/02/18 无线电
如何通过cmd 连接阿里云服务器
2022/04/18 Servers