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 相关文章推荐
Javascript操纵Cookie实现购物车程序
Nov 23 Javascript
javascript firefox不显示本地预览图片问题的解决方法
Nov 12 Javascript
js图片处理示例代码
May 12 Javascript
原生JavaScript生成GUID的实现示例
Sep 05 Javascript
详解Angular的双向数据绑定(MV-VM)
Dec 26 Javascript
详解Vuex中mapState的具体用法
Sep 28 Javascript
JS集合set类的实现与使用方法示例
Feb 01 Javascript
Koa日志中间件封装开发详解
Mar 09 Javascript
在node中使用jwt签发与验证token的方法
Apr 03 Javascript
微信小程序页面间传递数组对象方法解析
Nov 06 Javascript
jquery实现有过渡效果的tab切换
Jul 17 jQuery
微信小程序实现拼图小游戏
Oct 22 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 4.2书写安全的脚本
2006/10/09 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
2008/11/14 PHP
php查找指定目录下指定大小文件的方法
2014/11/28 PHP
thinkphp中memcache的用法实例
2014/11/29 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
redirect_uri参数错误的解决方法(必看)
2017/02/16 PHP
Laravel框架实现利用中间件进行操作日志记录功能
2018/06/06 PHP
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
jQuery基于cookie实现换肤功能实例
2017/10/14 jQuery
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
JS简单实现动态添加HTML标记的方法示例
2018/04/08 Javascript
layer.open关闭父窗口 以及调用父页面的方法
2018/08/17 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
2019/05/09 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
Django 404、500页面全局配置知识点详解
2020/03/10 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
python七种方法判断字符串是否包含子串
2020/08/18 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
商务专员岗位职责
2013/11/23 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书