【实用随记】js菜单联动

网上的代码段是选择省份的联动,但是大家选择省份还是多半用ajax,我这里用的是选择日期。

      <script type="text/javascript">
      function menu(array)
        {
        //数组,联动的数据源
          this.array=array;
          this.indexName='';
          this.obj='';
         //设置子SELECT
       // 参数:当前onchange的SELECT ID,要设置的SELECT ID
          this.subSelectChange=function(selectName1,selectName2)
          {
            var obj1=document.all[selectName1];
            var obj2=document.all[selectName2];
            var objName=this.toString();
            var me=this;
            obj1.οnchange=function(){
              me.optionChange(this.options[this.selectedIndex].value,obj2.id)
              }
          }
         //设置第一个SELECT
       // 参数:indexName指选中项,selectName指select的ID
         this.firstSelectChange=function(indexName,selectName)
         {
         this.obj=document.all[selectName];
         this.indexName=indexName;
         this.optionChange(this.indexName,this.obj.id)
         }


        // indexName指选中项,selectName指select的ID
         this.optionChange=function (indexName,selectName)
         {
          var obj1=document.all[selectName];
          var me=this;
          obj1.length=0;
          obj1.options[0]=new Option("请选择");
          for(var i=0;i<this.array.length;i++)
          {
           if(this.array[i][1]==indexName)
           {
           //alert(this.array[i][1]+" "+indexName);
            obj1.options[obj1.length]=new Option(this.array[i][2],this.array[i][0]);
           }
          }
         }
        }
    var array=new Array();
        array[0]=new Array("2013","year","2013"); // ID,父级ID,名称
        array[1]=new Array("Jan.","2013","Jan.");
        array[2]=new Array("Feb.","2013","Feb.");
        array[3]=new Array("Mar.","2013","Mar.");
        array[4]=new Array("Apr.","2013","Apr.");
        array[5]=new Array("May.","2013","May.");
        array[6]=new Array("Jun.","2013","Jun.");
        array[7]=new Array("Jul.","2013","Jul.");
        array[8]=new Array("Aug.","2013","Aug.");
        array[9]=new Array("Sep.","2013","Sep.");
        array[10]=new Array("Oct.","2013","Oct.");
        array[11]=new Array("Nov.","2013","Nov.");
        array[12]=new Array("Dec.","2013","Dec.");
        array[13]=new Array("2012","year","2012");
        array[14]=new Array("1","Jan.","1");
        array[15]=new Array("2","Jan.","2");
        array[16]=new Array("3","Jan.","3");
        array[17]=new Array("4","Jan.","4");
        array[18]=new Array("5","Jan.","5");
        array[19]=new Array("6","Jan.","6");


      //调用
    var liandong=new menu(array) //设置数据源
    liandong.firstSelectChange("year","year"); //设置第一个选择框
    liandong.subSelectChange("year","month"); //设置子级选择框
    liandong.subSelectChange("month","date");
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值