Select options 集合
Select options 集合
实例
例子 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