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的IE和Firefox兼容性集锦
Dec 11 Javascript
同一个表单 根据要求递交到不同页面的实现方法小结
Aug 05 Javascript
JavaScript 事件记录使用说明
Oct 20 Javascript
JQuery优缺点分析说明
Jun 09 Javascript
js仿3366小游戏选字游戏
Apr 14 Javascript
基于JavaScript实现回到页面顶部动画代码
May 24 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
May 26 Javascript
JS本地刷新返回上一页代码
Jul 25 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
Nov 27 Javascript
JavaScript利用闭包实现模块化
Jan 13 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
Mar 14 Javascript
vue大型项目之分模块运行/打包的实现
Sep 21 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
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
PHP中cookie知识点学习
2018/05/06 PHP
整理8个很棒的 jQuery 倒计时插件和教程
2011/12/12 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
2014/08/20 Javascript
js Calender控件使用详解
2015/01/05 Javascript
JavaScript中的Math.E属性使用详解
2015/06/12 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
Bootstrap三种表单布局的使用方法
2016/06/21 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
详解如何在vue-cli中使用vuex
2018/08/07 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
vscode自定义vue模板的实现
2021/01/27 Vue.js
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
Django 开发环境配置过程详解
2019/07/18 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
NumPy中的维度Axis详解
2019/11/26 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
python+opencv实现车道线检测
2021/02/19 Python
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
Linux机考试题
2015/10/16 面试题
2013的个人自我评价
2013/12/26 职场文书
协议书范本
2014/04/23 职场文书
房屋租赁协议书
2014/10/18 职场文书
检讨书范文500字
2015/01/28 职场文书
生产实习心得体会范文
2016/01/22 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python