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的一个简单的脚本验证插件
Apr 05 Javascript
jQuery实现网站添加高亮突出显示效果的方法
Jun 26 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
Dec 03 Javascript
JavaScript判断用户名和密码不能为空的实现代码
May 16 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
Dec 08 Javascript
ES6新特性之Object的变化分析
Mar 31 Javascript
vue实现留言板todolist功能
Aug 16 Javascript
vue中的ref和$refs的使用
Nov 22 Javascript
Angular PWA使用的Demo示例
Jan 31 Javascript
详解JavaScript中关于this指向的4种情况
Apr 18 Javascript
vue+elementui 对话框取消 表单验证重置示例
Oct 29 Javascript
浅谈webpack构建工具配置和常用插件总结
May 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
如何在PHP中使用Oracle数据库(5)
2006/10/09 PHP
Mysql的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
简单的PHP多图上传小程序代码
2011/07/17 PHP
PHP通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
PHP中4个加速、缓存扩展的区别和选用建议
2014/03/12 PHP
PHP 实现类似js中alert() 提示框
2015/03/18 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
CI框架表单验证实例详解
2016/11/21 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
JS实现可展开折叠层的鼠标拖曳效果
2015/10/09 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
ES6学习教程之模板字符串详解
2017/10/09 Javascript
详解vue项目打包步骤
2019/03/29 Javascript
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python的Django框架下管理站点的基本方法
2015/07/17 Python
python 写的一个爬虫程序源码
2016/02/28 Python
python使用tornado实现登录和登出
2018/07/28 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
2018/12/14 Python
Python高级特性与几种函数的讲解
2019/03/08 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
详解python tkinter模块安装过程
2020/01/06 Python
英国天然抗衰老护肤品品牌:Nakin Skin Care
2019/04/16 全球购物
会议活动邀请函
2014/01/27 职场文书
运动会通讯稿50字
2014/01/30 职场文书
致全体运动员广播稿
2014/02/01 职场文书
合作协议书范本
2014/04/17 职场文书
合伙协议书范本
2014/04/21 职场文书
2014年端午节演讲稿范文
2014/05/23 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
描述鲁迅的名言整理,一生受用
2019/08/08 职场文书
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
2022/01/18 Java/Android