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 dialog的用法详细解析
Dec 19 Javascript
javascript中基本类型和引用类型的区别分析
May 12 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
Nov 02 Javascript
JS实现上下左右对称的九九乘法表
Feb 22 Javascript
node.js版本管理工具n无效的原理和解决方法
Nov 24 Javascript
javascript  删除select中的所有option的实例
Sep 17 Javascript
JavaScrip关于创建常量的知识点
Dec 07 Javascript
JS运动特效之同时运动实现方法分析
Jan 24 Javascript
JS实现的合并多个数组去重算法示例
Apr 11 Javascript
官方推荐react-navigation的具体使用详解
May 08 Javascript
详解创建自定义的Angular Schematics
Jun 06 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
May 07 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中的时间显示
2007/01/18 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
datePicker——日期选择控件(with jquery)
2007/02/20 Javascript
5款Javascript颜色选择器
2009/10/25 Javascript
event.X和event.clientX的区别分析
2011/10/06 Javascript
javascript模拟枚举的简单实例
2014/03/06 Javascript
javascript实现类似超链接的效果
2014/12/26 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
2016/05/10 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
Node.js爬取豆瓣数据实例分析
2018/03/05 Javascript
在vue中安装使用vux的教程详解
2018/09/16 Javascript
js 实现watch监听数据变化的代码
2019/10/13 Javascript
Vue 数据响应式相关总结
2021/01/28 Vue.js
python二叉树的实现实例
2013/11/21 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
Python中的with语句与上下文管理器学习总结
2016/06/28 Python
基于python socketserver框架全面解析
2017/09/21 Python
python之Character string(实例讲解)
2017/09/25 Python
Python排序搜索基本算法之归并排序实例分析
2017/12/08 Python
python-序列解包(对可迭代元素的快速取值方法)
2019/08/24 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
vivo智能手机官方商城:vivo
2016/09/22 全球购物
斯福泰克软件测试面试题
2015/02/16 面试题
大学生年度自我鉴定
2013/10/31 职场文书
启动仪式策划方案
2014/06/14 职场文书
IT工程师岗位职责
2014/07/04 职场文书
演讲稿开场白台词
2014/08/25 职场文书
学习型党组织心得体会
2014/09/12 职场文书
2014年底个人工作总结
2015/03/10 职场文书
重温经典:乔布斯在斯坦福大学的毕业演讲(双语)
2019/08/26 职场文书
go语言基础 seek光标位置os包的使用
2021/05/09 Golang