• js 联动下拉菜单


    <!doctype html>

    <html>

    <head>

    <meta charset="utf-8">

    <title>js 联动下拉菜单</title>

      <script>

    window.onload=function()

    {

        var s1=new Sel('div1');

       

       // 数据

        s1.add('0',['1','2','3']);

        s1.add('0_0',['1_1','1_2','1_3']);

        s1.add('0_0_0',['1_1_1','1_1_2','1_1_3']);

        s1.add('0_0_1',['1_2_1','1_2_2','1_2_3']);

        s1.add('0_0_2',['1_3_1','1_3_2','1_3_3']);

        s1.add('0_1',['2_1','2_2','2_3']); 

        s1.add('0_1_0',['2_1_1','2_1_2','2_1_3']);

        s1.add('0_1_1',['2_2_1','2_2_2','2_2_3']);

        s1.add('0_1_2',['2_3_1','2_3_2','2_3_3']);

        s1.add('0_2',['3_1','3_2','3_3']); 

        s1.add('0_2_0',['3_1_1','3_1_2','3_1_3']);

        s1.add('0_2_1',['3_2_1','3_2_2','3_2_3']);

        s1.add('0_2_2',['3_3_1','3_3_2','3_3_3']); 

       s1.init(3);  // 几个下拉框

    }

        function Sel(id)

        {

            this.oParent=document.getElementById(id); //选择容器

            this.data={};               // 存放数据

            this.aSel=this.oParent.getElementsByTagName('select'); // 创建容器中的 select 下拉框

        }

        Sel.prototype=

        {

            init:function(num)

            {

                var This=this;

                for(var i=1;i<=num;i++)

                {

                    var oSel=document.createElement('select');

                    var opt=document.createElement('option');

                    opt.innerHTML='默认';           // 每个下拉框的初始值

                    oSel.appendChild(opt);           // 每个下拉框的初始元素

                    oSel.index=i;  //1,2,3

                    this.oParent.appendChild(oSel);  // 添加初始元素

                    oSel.onchange=function()   // 当下拉框改变的时候

                    {

                        This.change(this.index);

                    }

                }

                this.first();//创建第一个

            },//初始化对象       

            add:function(key,val)

            {

                this.data[key]=val;

            },//添加数据

            first:function()

            {

                var arr=this.data['0'];

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

                {

                    var opt=document.createElement('option');

                    opt.innerHTML=arr[i];

                    this.aSel[0].appendChild(opt);

                }

            },//创建第一个下拉菜单----元素添加数据

            change:function(now)

            {

                var str='0';

                for(i=0;i<now;i++)  //now====0,1,2  如果now=0,循环时str=0_0

                {

                  str+='_'+(this.aSel[i].selectedIndex-1); 

                 //取得当前选中元素的下一级的数据

                }

                if(this.data[str]) //如果有数据

                {

                    var arr=this.data[str];           

                    this.aSel[now].options.length=1;

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

                    {

                       var opt=document.createElement('option');

                       opt.innerHTML=arr[i];

                       this.aSel[now].appendChild(opt);

                    } // -------------------------------添加数据

                   

                    this.aSel[now].options[1].selected=true;

                    now++;

                    if(now<this.aSel.length)

                    {

                        this.change(now);   // 更新下级

                    }

                }

              else

              {

                  for(var i=now;i<this.aSel.length;i++)

                  {

                       this.aSel[i].options.length=1; 

                  }// 返回默认值

              }

            }, // -------------------------change 结束

        }

    </script>

    </head>

    <body>

    <div id="div1"></div>

    </body>

    </html>

  • 相关阅读:
    安装python包的两种方法
    Oracle 查询当前用户下的所有表
    Oracle SQL存储过程结构、异常处理示例
    Oracle IF-ELSE条件判断结构
    Oracle 组函数count()
    从svn下载项目后出现 Error:java: Compilation failed: internaljava compiler error 解决办法
    当学习失去方向,开始荒废时光时
    给自己一个目标
    汇编环境搭建在Linux下
    汇编学习总结
  • 原文地址:https://www.cnblogs.com/xuey/p/8456759.html
Copyright © 2020-2023  润新知