在做三级联动的时候遇见了这个函数,对函数的用法进行一下小总结,不太详细,敬请谅解。

作用:用于创建一个新的选项
Option()构造函数接受两个参数:文本(text)和值(value);第二个参数可选.虽然这个构造函数会创建一个Object的实例,但是兼容DOM的浏览器会返回一个元素。我们依然可以使用appendChild()将新的选项加到选择框中。例如:

var newOption = new Option("Option text","Option value");
selectbox.appendChild(newOption);
<script>var city = [{"id": 10001,"name": "陕西省","child": [{"id": 100011,"name": "西安市","child": [{"id": 100011,"name": "高新区"},{"id": 100011,"name": "未央区"}]},{"id": 100012,"name": "宝鸡市","child": [{"id": 100011,"name": "高新区"},{"id": 100011,"name": "成仓区"}]}]},{"id": 10002,"name": "甘肃省","child": [{"id": 100021,"name": "兰州市","child": [{"id": 100021,"name": "兰州区1"},{"id": 100021,"name": "兰州区2"}]},{"id": 100022,"name": "酒泉市","child": [{"id": 100021,"name": "酒泉区1"},{"id": 100021,"name": "酒泉区2"}]}]}]/*当选择省时,创建对应的市子对象,并将其加入父元素中。* 当选择某一个市时,创建对应的区子对象,并将其加入父元素中。* 当选择其他省/市时,对应的市、区/区的选项都变为请选择。* 要注意:在每次重新选择时,需要将其余select标签的options元素的长度为1,即做一次清空。*/var sheng = document.getElementsByClassName("sheng")[0];var shi = document.getElementsByClassName("shi")[0];var qu = document.getElementsByClassName("qu")[0];var nowShengIndex = 0;for(var i=0;i<city.length;i++){var optEle = new Option(city[i].name,i);console.log(optEle.innerHTML);sheng.appendChild(optEle)}sheng.οnchange=function(){shi.options.length = 1;qu.options.length = 1;//this.value可取到当前所选值对应的索引for(var i=0;i<city[this.value].child.length;i++){var optEle = new Option(city[this.value].child[i].name,i);shi.appendChild(optEle)}nowShengIndex = this.value;};shi.οnchange=function () {qu.options.length = 1;console.log(qu);for(var i=0;i<city[nowShengIndex].child[this.value].child.length;i++){var optEle = new Option(city[nowShengIndex].child[this.value].child[i].name,i);qu.appendChild(optEle)}}
</script>
   <select class="sheng"><option>-请选择省份-</option>
</select><select class="shi"><option>-请选择城市-</option>
</select><select class="qu"><option>-请选择区-</option>

【响应式Web前端设计】new Option()函数的作用(三区联动)相关推荐

  1. 【响应式Web前端设计】一文学会使用Bootstrap!

    文章目录 1 概念 2 Bootstrap简介 3 布局容器 4 导航栏(navbar) 4.1 基本 4.2 响应式 5 垂直表单-基本表单 6 栅格系统 7 标签页 8 响应式工具 请先学习该文 ...

  2. 【响应式Web前端设计】CSS3 :nth-of-type() 选择器

    <!DOCTYPE html> <html> <head> <style> p:nth-of-type(2) {background:#ff0000; ...

  3. 【响应式Web前端设计】css如何设置边框的圆角样式?border-radius属性设置圆角样式(图 文)

    border-radius包含5种设置圆角样式方式: border-radius :同时设置4个边框的圆角样式. border-top-left-radius :设置左上角边框的圆角样式. borde ...

  4. 【响应式Web前端设计】css中:overflow:hidden解决塌陷

    overflow:hidden是当元素内的内容溢出的时候使它隐藏溢出的部分,即超出部分隐藏. 1.我们给一个父元素,里面有两个子元素 2.样式如下:给父元素设置背景颜色,子元素设置边框,两个字元素向左 ...

  5. 【响应式Web前端设计】CSS浮动(float,clear)讲解

    首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流.如下图: 可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,div2也不会排在div1后边,因为d ...

  6. 【响应式Web前端设计】!important的用法及作用

    div { color: #f00 !important; } div { color: #000; } //上述代码中,ie6及其以下浏览器div的文本颜色为#fff,后面的重写的div样式没有起作 ...

  7. 【响应式Web前端设计】设置图片间隙为0

    解决方案一background 设置父容器的background,可以平铺一个合适的背景或图片.这样的话,两个图片之间的过渡,就会显得更加平滑.但是相关空隙依然存在,只不过因为父容器的背景色的缘故,使 ...

  8. 【响应式Web前端设计】在html页面实时显示系统时间

    在html页面实时显示系统时间 桌面新建记事本,将下列代码复制粘贴,重命名后缀为.html,保存,用浏览器打开即可 <html> <head><meta http-equ ...

  9. 【响应式Web前端设计】:link、:hover、:active和:visited的区别

    :link.:hover.:active和:visited的区别? :link表示鼠标点击之前,也称为原始状态 :hover表示鼠标悬停状态 :active表示鼠标点击状态 :visited表示鼠标点 ...

最新文章

  1. jpgraph 实例文档
  2. 语言关键字特别注意没有_从零开始写文本编辑器(三十三):前20名编程语言的关键字...
  3. netty系列之:channelHandlerContext详解
  4. 1 State Hook
  5. Asp.Net Core Ocelot Consul 微服务
  6. 【期望】守卫挑战(金牌导航 期望-9)
  7. 如何给APK文件签名
  8. Struts2的标签概述
  9. Facebook开发实时分析控制面板
  10. 115.不同的子序列
  11. 网页输出pdf并转为word
  12. matlab 输入Angstrom (埃,埃米,Angstrom 或ANG或Å)
  13. 计算机网络设备调试经验,一种计算机网络设备调试装置的制作方法
  14. 【转载】FreeIPA中间CA证书已过期
  15. 在Github账户如何修改设置个人头像
  16. matlab 中| 、|| 、~ 含义
  17. Chrome浏览器查看网页源代码的几种方法
  18. Oracle Cloud云端账号的注册过程
  19. RN7302/RN8302电能计量芯片使用记录
  20. elf文件中代码段有绝对地址但重定位表中无.text.rel

热门文章

  1. c# websocketServer
  2. speedtorch 加速神经网络
  3. Fast_Human_Pose_Estimation_Pytorch
  4. torch bceloss nan
  5. python 简易 http server
  6. Python 多进程/Event 重复使用唤醒
  7. opencv mat与avframe互转
  8. intelij idea java.lang.ClassNotFoundException
  9. opencl fft实例整理
  10. android studio jni路径配置