常用的三联动实现

<!DOCTYPE HTML>
<html>
<head>
<title>联动菜单</title>
<meta charset="utf-8" />
<script>
	/*使用 HTML DOM 的方式实现联动菜单*/
	var categories=[
    {
      "id":10,
      "name":‘男装‘,
      "children":[
        {"id":101,"name":‘正装‘},
        {"id":102,"name":‘T恤‘},
        {"id":103,"name":‘裤衩‘}
      ]
    },
    {
      "id":20,
      "name":‘女装‘,
      "children":[
        {"id":201,"name":‘短裙‘},
        {"id":202,"name":‘连衣裙‘},
        {
          "id":203,
          "name":‘裤子‘,
          "children":  [
            {"id":2031,"name":‘长裤‘},
            {"id":2031,"name":‘九分裤‘},
            {"id":2031,"name":‘七分裤‘}
          ]
        },
      ]
    },
    {"id":30,"name":‘童装‘,"children":[
      {"id":301,"name":‘帽子‘},
      {"id":302,"name":‘套装‘,"children":[
        {"id":3021,"name":"0-3岁"},
        {"id":3021,"name":"3-6岁"},
        {"id":3021,"name":"6-9岁"},
        {"id":3021,"name":"9-12岁"}
      ]},
      {"id":303,"name":‘手套‘}
    ]}
];

</script>
</head>
<body>
	<div id="category"></div>
  <script>
    //查找id为category的div保存在div中
     var div=document.getElementById("category");
    //定义函数createSelect,接收一个数组参数arr
    function createSelect(arr){
      //创建一个select
      var sel=document.createElement("select");
      //创建一个option,设置其内容为"-请选择-",值为-1,将option添加到select中
       sel.add(new Option("--请选择--",-1));
      //遍历arr
      for(var i=0;i<arr.length;i++){
        //创建一个option,设置内容为当前元素的name属性,设置value为当前元素的id属性,将新option添加到select中
        sel.add(new Option(arr[i].name,arr[i].id));
      }//(遍历结束)
      //为sel绑定onchange事件
      sel.onchange=function(){
        //反复:只要当前select不是div的lastChild
        while(this!=div.lastChild)
          //让div删除其lastChild
           div.removeChild(div.lastChild);
        //获得当前选中项的下表-1,保存在i中
        var i=this.selectedIndex-1;
        //如果arr中i位置的商品类别有children
         if(i>=0&&arr[i].children!==undefined)
          //用arr中i位置的商品类别的children数组创建下一个select
          createSelect(arr[i].children);

     }
      //将select添加到div中
       div.appendChild(sel);
    }
    createSelect(categories);
  </script>
</body>
</html>

  

时间: 2024-11-08 15:59:45

常用的三联动实现的相关文章

Android中常用的三种存储方法浅析

Android中常用的三种存储方法浅析 Android中数据存储有5种方式: [1]使用SharedPreferences存储数据 [2]文件存储数据 [3]SQLite数据库存储数据 [4]使用ContentProvider存储数据 [5]网络存储数据 在这里我只总结了三种我用到过的或即将可能用到的三种存储方法. 一.使用SharedPreferences存储数据 SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置信息比如窗口状态,它的本质是基

Python文件常用的三个变量

1 '''Python文件常用的三个变量 2 __doc__.__name__.__file__ 3 4 __doc__——用来显示文件的注释,文件的注释都是写在文件的开头, 5 以""" doc """标注的内容.可以直接调用.也可以查看其他文件的注释, 6 如导入了一个Queue模块,可以用print Queue.__doc__来查看 7 8 __name__——用来检查是否是主文件的一个重要方法,比如是主动执行的此文件, 9 那么值就是'_

数据导入HBase最常用的三种方式及实践分析

数据导入HBase最常用的三种方式及实践分析         摘要:要使用Hadoop,需要将现有的各种类型的数据库或数据文件中的数据导入HBase.一般而言,有三种常见方式:使用HBase的API中的Put方法,使用HBase 的bulk load工具和使用定制的MapReduce Job方式.本文均有详细描述. [编者按]要使用Hadoop,数据合并至关重要,HBase应用甚广.一般而言,需要 针对不同情景模式将现有的各种类型的数据库或数据文件中的数据转入至HBase 中.常见方式为:使用H

JavaScript的简介以及常用的三种对话框

JavaScript中常用的三种对话框 alert().confirm().prompt()的区别和联系: 1.警告框alert() alert是警告框,只有一个按钮"确定"无返回值,警告框经常用于确保用户可以得到某些信息.当警告框出现后,用户需要点击确定按钮才能继续进行操作. 语法: <script type="text\javascript"> alert("文本"). </script> 2.确认框confirm()

JavaScript的介绍、常用的三种对话框

JavaScript中常用的三种对话框 alert().confirm().prompt()的区别和联系: 1.警告框alert() alert是警告框,只有一个按钮"确定"无返回值,警告框经常用于确保用户可以得到某些信息.当警告框出现后,用户需要点击确定按钮才能继续进行操作. 语法: <script type="text\javascript"> alert("文本"). </script> 2.确认框confirm()

操作sqlserver数据库常用的三个方法

1. ADO.NET -> 连接字符串,常用的两种方式: server=计算机名或ip\实例名;database=数据库名;uid=sa;pwd=密码; server=计算机名或ip\实例名;database=数据库名;integrated security=true; -> 常用的类库 SqlConnection 连接数据库用 SqlCommand      执行SQL语句 SqlDataReader 读取的对象(此种读取数据的方式有点像StreamReader) SqlAdapter   

Linux Shell常用技巧(三) sed

Linux Shell常用技巧(三) sed 八.流编辑器sed 8.1 sed简介 sed是stream editor的缩写,一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出.sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等

每日一招:牛市选股最常用的三种方法

每日一招:牛市选股最常用的三种方法 字体: 大 小 换肤: 收藏 2015-05-04 11:00:06 选中了好股票就可以牟取暴利,选错了个股,牛市里面也要亏大钱,这就是新一轮大牛市的全新特点.选股已成为广大投资者炒股成败的关键点!最重要的是下一阶段什么方法是最适合的呢?下面我们就作一些分析. 目前各种选黑马的方法,大体上可分为有三种:1,以业绩为主要选股依据的方法.2,是以炒作题材为主要依据的选股方法.3,是以博弈.相反理论及跟庄方法为主要依据的选股方法. 第1种方法以业绩为选股的主要依据,

Linux Shell常用技巧(三)

八. 流编辑器sed: sed一次处理一行文件并把输出送往屏幕.sed把当前处理的行存储在临时缓冲区中,称为模式空间(pattern space).一旦sed完成对模式空间中的行的处理,模式空间中的行就被送往屏幕.行被处理完成之后,就被移出模式空间,程序接着读入下一行,处理,显示,移出......文件输入的最后一行被处理完以后sed结束.通过存储每一行在临时缓冲区,然后在缓冲区中操作该行,保证了原始文件不会被破坏.        1.  sed的命令和选项: 命令 功能描述 a\  在当前行的后