zoukankan      html  css  js  c++  java
  • Js三级下拉列表联动

     

    1. 创建需要的json数据源

      ----------------------------------调皮的代码分割线--------------------------------------------------------------

      var menu = "[" +

              "{'val': '经营管理族', 'menu': [" +

                  "{'val': '经营管理序列', 'menu': [" +

                      "{'val': '集团总裁'},{'val': '集团 CXO(COO, CFO, CHO,CAO)'},{'val': '集团 功能中心总经理'},{'val': '集团 功能中心副总经理'},{'val': '业务线 总裁'},{'val': '业务线 副总裁'},{'val': '业务线 DUG/BG总经理'},{'val': '业务线 事业部总经理(BU/DU)'},{'val': '销售总经理'},{'val': '区域总经理(总体协调人)'},{'val': '业务线 功能中心总监'}" +

                  "]}]}," +

              "{'val': '市场营销族', 'menu': [" +

                  "{'val': '销售序列', 'menu': [" +

                      "{'val': '销售总监'},{'val': '销售'}" +

                  "]}]}," +

              "{'val': '综合项目族', 'menu': [" +

                  "{'val': '督导序列', 'menu': [" +

                      "{'val': '项目总监'},{'val': '高级项目经理'},{'val': '中级项目经理'},{'val': '项目经理'}]}," +

                  "{'val': '质量管理序列', 'menu': [" +

                      "{'val': '质量管理总监'},{'val': '质量管理经理'},{'val': '高级质量管理专员'},{'val': '中级质量管理专员'},{'val': '初级质量管理专员'}" +

              "]}]}," +

              "{'val': '技术研发族', 'menu': [" +

                  "{'val': '开发序列', 'menu': [" +

                      "{'val': '技术专家'},{'val': '高级开发工程师'},{'val': '中级开发工程师'},{'val': '初级开发工程师'},{'val': '助理开发工程师'}" +

                  "]},{'val': '测试序列', 'menu': [" +

                      "{'val': '测试专家'},{'val': '高级测试工程师'},{'val': '中级测试工程师'},{'val': '初级测试工程师'},{'val': '助理测试工程师'}" +

                  "]},{'val': '测试开发序列(自动化测试)', 'menu': [" +

                      "{'val': '测试开发专家'},{'val': '高级测试开发工程师'},{'val': '中级测试开发工程师'},{'val': '初级测试开发工程师'},{'val': '助理测试开发工程师'}" +

                  "]},{'val': '设计/咨询序列', 'menu': [" +

                      "{'val': '高级设计师'},{'val': '中级设计师'},{'val': '初级设计师'},{'val': '见习设计师'},{'val': '高级咨询顾问'},{'val': '中级咨询顾问'},{'val': '咨询顾问'},{'val': '见习咨询顾问'},{'val': '高级售前工程师'},{'val': '中级售前工程师'},{'val': '售前工程师'}" +

                  "]},{'val': '实施/服务序列', 'menu': [" +

                      "{'val': '工程总监'},{'val': '高级实施项目经理'},{'val': '中级实施项目经理'},{'val': '实施项目经理'},{'val': '实施技术专家'},{'val': '高级实施工程师'},{'val': '中级实施工程师'},{'val': '初级实施工程师'}" +

                  "]},{'val': '翻译序列', 'menu': [" +

                      "{'val': '高级翻译'},{'val': '中级翻译'},{'val': '初级翻译'}" +

                  "]},{'val': '文档开发序列', 'menu': [" +

                      "{'val': '高级文档开发工程师'},{'val': '中级文档开发工程师'},{'val': '初级文档开发工程师'}" +

                  "]},{'val': '技术支持序列', 'menu': [" +

                      "{'val': '技术支持组长'},{'val': '高级技术支持工程师'},{'val': '中级技术支持工程师'},{'val': '技术支持工程师'}" +

               "]}]}," +

              "{'val': '职能管理族', 'menu': [" +

                  "{'val': '职能支持序列', 'menu': [" +

                      "{'val': '部门经理'},{'val': '主管'},{'val': '高级专员'},{'val': '专员'},{'val': '助理'},{'val': '秘书'}" +

                  "]}" +

              "]}" +

          "]";

          var objs = eval("(" + menu + ")");

      ----------------------------------调皮的代码分割线--------------------------------------------------------------

    2. 创建html

      ----------------------------------调皮的代码分割线--------------------------------------------------------------

    <select id="data_1"></select>

    <select id="data_2"></select>

        <select id="data_3"></select>

    ----------------------------------调皮的代码分割线--------------------------------------------------------------

     

    1. 创建下拉框级联动作

      ----------------------------------调皮的代码分割线--------------------------------------------------------------

      for(var i = 0;i < objs.length;i ++) {

              $("#data_1").append("<option value='" + objs[i].val + "'>" + objs[i].val + "</option>");

          }

       

          $("#data_1").change(function(){

              $("#data_2").empty();

              $("#data_2").append("<option value='请选择'>请选择</option>'");

              switch($(this).val()) {

                  case objs[0].val:

                      for(var o in objs[0].menu){

                          $("#data_2").append("<option value='" + (objs[0].menu)[o].val + "'>" + (objs[0].menu)[o].val + "</option>");

                      }

                      break;

                  case objs[1].val:

                      for(var o in objs[1].menu){

                          $("#data_2").append("<option value='" + (objs[1].menu)[o].val + "'>" + (objs[1].menu)[o].val + "</option>");

                      }

                      break;

                  case objs[2].val:

                      for(var o in objs[2].menu){

                          $("#data_2").append("<option value='" + (objs[2].menu)[o].val + "'>" + (objs[2].menu)[o].val + "</option>");

                      }

                      break;

                  case objs[3].val:

                      for(var o in objs[3].menu){

                          $("#data_2").append("<option value='" + (objs[3].menu)[o].val + "'>" + (objs[3].menu)[o].val + "</option>");

                      }

                      break;

                  case objs[4].val:

                      for(var o in objs[4].menu){

                          $("#data_2").append("<option value='" + (objs[4].menu)[o].val + "'>" + (objs[4].menu)[o].val + "</option>");

                      }

                      break;

              }

          });

       

          $("#data_2").change(function(){

              $("#data_3").empty();

              $("#data_3").append("<option value='请选择'>请选择</option>'");

              switch($(this).val()) {

                  case (objs[0].menu)[0].val:

                      for(var o in (objs[0].menu)[0].menu){

                          $("#data_3").append("<option value='" + ((objs[0].menu)[0].menu)[o].val + "'>" + ((objs[0].menu)[0].menu)[o].val + "</option>");

                      }

                      break;

                  case (objs[1].menu)[0].val:

                      for(var o in (objs[1].menu)[0].menu){

                          $("#data_3").append("<option value='" + ((objs[1].menu)[0].menu)[o].val + "'>" + ((objs[1].menu)[0].menu)[o].val + "</option>");

                      }

                      break;

                  case (objs[2].menu)[0].val:

                      for(var o in (objs[2].menu)[0].menu){

                          $("#data_3").append("<option value='" + ((objs[2].menu)[0].menu)[o].val + "'>" + ((objs[2].menu)[0].menu)[o].val + "</option>");

                      }

                      break;

                  case (objs[2].menu)[1].val:

                      for(var o in (objs[2].menu)[1].menu){

                          $("#data_3").append("<option value='" + ((objs[2].menu)[1].menu)[o].val + "'>" + ((objs[2].menu)[1].menu)[o].val + "</option>");

                      }

                      break;

                  case (objs[3].menu)[0].val:

                      for(var o in (objs[3].menu)[0].menu){

                          $("#data_3").append("<option value='" + ((objs[3].menu)[0].menu)[o].val + "'>" + ((objs[3].menu)[0].menu)[o].val + "</option>");

                      }

                      break;

                  case (objs[3].menu)[1].val:

                      for(var o in (objs[3].menu)[1].menu){

                          $("#data_3").append("<option value='" + ((objs[3].menu)[1].menu)[o].val + "'>" + ((objs[3].menu)[1].menu)[o].val + "</option>");

                      }

                      break;

                  case (objs[3].menu)[2].val:

                      for(var o in (objs[3].menu)[2].menu){

                          $("#data_3").append("<option value='" + ((objs[3].menu)[2].menu)[o].val + "'>" + ((objs[3].menu)[3].menu)[o].val + "</option>");

                      }

                      break;

                  case (objs[3].menu)[3].val:

                      for(var o in (objs[3].menu)[3].menu){

                          $("#data_3").append("<option value='" + ((objs[3].menu)[3].menu)[o].val + "'>" + ((objs[3].menu)[3].menu)[o].val + "</option>");

                      }

                      break;

                  case (objs[3].menu)[4].val:

                      for(var o in (objs[3].menu)[4].menu){

                          $("#data_3").append("<option value='" + ((objs[3].menu)[4].menu)[o].val + "'>" + ((objs[3].menu)[4].menu)[o].val + "</option>");

                      }

                      break;

                  case (objs[3].menu)[5].val:

                      for(var o in (objs[3].menu)[5].menu){

                          $("#data_3").append("<option value='" + ((objs[3].menu)[5].menu)[o].val + "'>" + ((objs[3].menu)[5].menu)[o].val + "</option>");

                      }

                      break;

                  case (objs[3].menu)[6].val:

                      for(var o in (objs[3].menu)[6].menu){

                          $("#data_3").append("<option value='" + ((objs[3].menu)[6].menu)[o].val + "'>" + ((objs[3].menu)[6].menu)[o].val + "</option>");

                      }

                      break;

                  case (objs[3].menu)[7].val:

                      for(var o in (objs[3].menu)[7].menu){

                          $("#data_3").append("<option value='" + ((objs[3].menu)[7].menu)[o].val + "'>" + ((objs[3].menu)[7].menu)[o].val + "</option>");

                      }

                      break;

                  case (objs[4].menu)[0].val:

                      for(var o in (objs[4].menu)[0].menu){

                          $("#data_3").append("<option value='" + ((objs[4].menu)[0].menu)[o].val + "'>" + ((objs[4].menu)[0].menu)[o].val + "</option>");

                      }

                      break;

              }

          });

      ----------------------------------调皮的代码分割线--------------------------------------------------------------

       

  • 相关阅读:
    sublime开启vim模式
    git命令行界面
    搬进Github
    【POJ 2886】Who Gets the Most Candies?
    【UVA 1451】Average
    【CodeForces 625A】Guest From the Past
    【ZOJ 3480】Duck Typing
    【POJ 3320】Jessica's Reading Problemc(尺取法)
    【HDU 1445】Ride to School
    【HDU 5578】Friendship of Frog
  • 原文地址:https://www.cnblogs.com/dingbaiyi/p/6047584.html
Copyright © 2011-2022 走看看