小码哥的IT人生

Select options 集合

JavaScript基础 2022-06-08 17:10:14小码哥的IT人生shichen

Select options 集合

定义和用法

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

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

实例

例子 1

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

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

完整实例:

<!DOCTYPE html>
<html>
<body>
<form>
  <select id="mySelect" size="4">
    <option>苹果</option>
    <option>桔子</option>
    <option>凤梨</option>
    <option>香蕉</option>
  </select>
</form>
<p>单击该按钮可显示下拉列表中的选项数。</p>
<button onclick="myFunction()">试一试</button>
<p id="demo"></p>
<script>
function myFunction() {
  var x = document.getElementById("mySelect").options.length;
  document.getElementById("demo").innerHTML = "已在列表中找到 " + x + " 个选项。";
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

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;

完整实例:

<!DOCTYPE html>
<html>
<body>
<form>
  <select id="mySelect">
    <option>苹果</option>
    <option>桔子</option>
    <option>凤梨</option>
    <option>香蕉</option>
  </select>
</form>
<p>单击该按钮可显示下拉列表中第一个选项的文本。</p>
<button onclick="myFunction()">试一试</button>
<p id="demo"></p>
<script>
function myFunction() {
  var x = document.getElementById("mySelect").options[0].text;
  document.getElementById("demo").innerHTML = x;
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

x 的结果将是:

Apple

例子 3:item(index)

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

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

完整实例:

<!DOCTYPE html>
<html>
<body>
<form>
  <select id="mySelect">
    <option>苹果</option>
    <option>桔子</option>
    <option>凤梨</option>
    <option>香蕉</option>
  </select>
</form>
<p>单击该按钮可显示下拉列表中第一个选项的文本。</p>
<button onclick="myFunction()">试一试</button>
<p id="demo"></p>
<script>
function myFunction() {
  var x = document.getElementById("mySelect").options.item(0).text;
  document.getElementById("demo").innerHTML = x;
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

x 的结果将是:

Apple

例子 4:namedItem(id)

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

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

完整实例:

<!DOCTYPE html>
<html>
<body>
<form>
  <select id="mySelect">
    <option id="apple">苹果</option>
    <option id="orange">桔子</option>
    <option id="pineapple">凤梨</option>
    <option id="banana">香蕉</option>
  </select>
</form>
<p>请单击该按钮,在下拉列表中显示 id="orange" 的选项元素的文本。</p>
<button onclick="myFunction()">试一试</button>
<p id="demo"></p>
<script>
function myFunction() {
  var x = document.getElementById("mySelect").options.namedItem("orange").text;
  document.getElementById("demo").innerHTML = x;
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

x 的结果将是:

Orange

例子 5

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

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

完整实例:

<!DOCTYPE html>
<html>
<body>
<form>
  <select id="mySelect" size="8">
    <option>苹果</option>
    <option>桃子</option>
    <option>香蕉</option>
    <option>桔子</option>
  </select>
</form>
<p>请点击按钮,在下拉列表的索引位置“1”处增加一个“猕猴桃”选项。</p>
<button type="button" onclick="myFunction()">插入选项</button>
<script>
function myFunction() {
  var x = document.getElementById("mySelect");
  var c = document.createElement("option");
  c.text = "猕猴桃";
  x.options.add(c, 1);
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

例子 6

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

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

完整实例:

<!DOCTYPE html>
<html>
<body>
<form>
  <select id="mySelect" size="4">
    <option>苹果</option>
    <option>桃子</option>
    <option>香蕉</option>
    <option>桔子</option>
  </select>
</form>
<br>
<button onclick="myFunction()">删除索引为“1”的选项</button>
<script>
function myFunction() {
  var x = document.getElementById("mySelect");
  x.options.remove(1);
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

例子 7

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

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

完整实例:

<!DOCTYPE html>
<html>
<body>
<form>
  <select id="mySelect">
    <option>苹果</option>
    <option>桔子</option>
    <option>凤梨</option>
    <option>香蕉</option>
  </select>
</form>
<p>单击该按钮可显示下拉列表中所有选项的文本。</p>
<button type="button" onclick="myFunction()">试一试</button>
<p id="demo"></p>
<script>
function myFunction() {
  var x = document.getElementById("mySelect");
  var txt = "";
  var i;
  for (i = 0; i < x.length; i++) {
    txt = txt + x.options[i].text + "<br>";
  }
  document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

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;

完整实例:

<!DOCTYPE html>
<html>
<body>
<p>请在下拉列表中选择一个选项并显示该选项。</p>
<form>
  <select id="mySelect" onchange="myFunction()">
    <option>苹果</option>
    <option>桔子</option>
    <option>凤梨</option>
    <option>香蕉</option>
  </select>
</form>
<p id="demo"></p>
<script>
function myFunction() {
  var x = document.getElementById("mySelect");
  var i = x.selectedIndex;
  document.getElementById("demo").innerHTML = x.options[i].text;
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

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);
    }
  }
}

完整实例:

<!DOCTYPE html>
<html>
<body>
<select id="car" onchange="ChangeCarList()">
  <option value="">-- 汽车 --</option>
  <option value="VO">沃尔沃</option>
  <option value="VW">大众</option>
  <option value="BMW">宝马</option>
</select>
<select id="carmodel"></select>
<script>
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);
    }
  }
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

Browser Support Collection options Yes Yes Yes Yes Yes

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024