Select options 集合

定义和用法

options 集合返回下拉列表中所有 <option> 元素 的集合。

注释:集合中的元素按照它们在源代码中出现的顺序排序。

实例

例子 1

查看特定下拉列表中有多少个选项:

var x = document.getElementById("mySelect").options.length;

亲自试一试

x 的结果将是:

4

提示:页面下方提供更多实例。

语法

selectObject.options

属性

属性 描述
length

返回集合中 <option> 元素的数量。

注释:此属性是只读的

selectedIndex 设置或返回集合中所选 <option> 元素的索引(从 0 开始)。

方法

方法 描述
[index]

从集合中返回有指定索引(从 0 开始)的 <option> 元素。

注释:如果索引号超出范围,则返回 null。

[add(option[,index])] 将 <option> 元素添加到集合中的指定索引处。如果未指定索引,它会在集合的末尾插入该选项。
item(index)

从集合中返回有指定索引(从 0 开始)的 <option> 元素。

注释:如果索引号超出范围,则返回 null。

namedItem(id)

从集合中返回有指定 ID 的 <option> 元素。

注释:如果 id 不存在则返回 null。

remove(index) 从集合中移除有指定索引的 <option> 元素。

技术细节

DOM 版本: Core Level 2 Document Object
返回值:

HTMLOptionsCollection 对象,表示 <select> 元素中的所有 <option> 元素。

集合中的元素按它们在源代码中出现的顺序排序。

更多实例

例子 2:[index]

获取下拉列表中第一个选项(索引 0)的文本:

var x = document.getElementById("mySelect").options[0].text;

亲自试一试

x 的结果将是:

Apple

例子 3:item(index)

获取下拉列表中第一个选项(索引 0)的文本:

var x = document.getElementById("mySelect").options.item(0).text;

亲自试一试

x 的结果将是:

Apple

例子 4:namedItem(id)

获取下拉列表中 id="orange" 的选项的文本:

var x = document.getElementById("mySelect").options.namedItem("orange").text;

亲自试一试

x 的结果将是:

Orange

例子 5

在下拉列表的索引位置 “1” 处添加 “Kiwi” 选项:

var x = document.getElementById("mySelect");
var c = document.createElement("option");
c.text = "Kiwi";
x.options.add(c, 1);

亲自试一试

例子 6

从下拉列表中删除索引为 “1” 的选项:

var x = document.getElementById("mySelect"); x.options.remove(1);

亲自试一试

例子 7

循环遍历下拉列表中的所有选项,并输出每个选项的文本:

var x = document.getElementById("mySelect");
var txt = "";
var i;
for (i = 0; i < x.length; i++) {
  txt = txt + x.options[i].text + "<br>";
}

亲自试一试

x 的结果将是:

Apple
Orange
Pineapple
Banana

例子 8

在下拉列表中选择一个选项,并在 id="demo" 的元素中输出所选选项的文本:

var x = document.getElementById("mySelect");
var i = x.selectedIndex;
document.getElementById("demo").innerHTML = x.options[i].text;

亲自试一试

x 的结果将是:

Banana

例子 9

根据另一个下拉列表中的选定选项更改下拉列表中的选项:

var carsAndModels = {};
carsAndModels['VO'] = ['V70', 'XC60', 'XC90'];
carsAndModels['VW'] = ['Golf', 'Polo', 'Scirocco', 'Touareg'];
carsAndModels['BMW'] = ['M6', 'X5', 'Z3'];

function ChangeCarList() {
  var carList = document.getElementById("car");
  var modelList = document.getElementById("carmodel");
  var selCar = carList.options[carList.selectedIndex].value;

  while (modelList.options.length) {
    modelList.remove(0);
  }

  var cars = carsAndModels[selCar];
  if (cars) {
    var i;
    for (i = 0; i < cars.length; i++) {
      var car = new Option(cars[i], i);
      modelList.options.add(car);
    }
  }
}

亲自试一试

Browser Support Collection options Yes Yes Yes Yes Yes