深入理解选择框脚本[推荐]

选择框是通过<select>和<option>元素创建的,又称为下拉列表框。为了方便与这个控件交互,除了所有表单字段共有的属性和方法外,javascript还提供了一些属性和方法。本文将详细介绍选择框脚本

<select>

首先介绍关于<select>元素的相关属性

multiple

multiple属性表示是否允许多项选择

<select> <option>1</option> <option>2</option> <option>3</option> </select> <button>是否多选</button> <script> btn.onclick = function(){ test.multiple = !test.multiple; } </script>

type

选择框的type属性有两种,一种是'select-one',表示单选;另一种是'select-multiple',表示多选

<select> <option>1</option> <option>2</option> <option>3</option> </select> <button>是否多选</button> <div></div> <script> btn.onclick = function(){ test.multiple = !test.multiple; result.innerHTML = test.type; } </script>

value

选择框的value属性由当前选中项决定

1、如果没有选中的项,则选择框的value属性保存空字符串

2、如果有一个选中项,而且该项的value特性已经在HTML中指定,则选择框的value属性等于选中项的value特性。即使value特性的值是空字符串,也同样遵循此条规则

3、如果有一个选中项,但该项的value特性在HTML中未指定,则选择框的value属性等于该项的文本

4、如果有多个选中项,则选择框的value属性将依据前两条规则取得第一个选中项的值

[注意]IE8-浏览器只支持value属性的值,不支持选择的文本值

<select> <option value="a">1</option> <option value="b">2</option> <option>3</option> </select> <button>是否多选</button> <button>获取value值</button> <div></div> <script> btn1.onclick = function(){ test.multiple = !test.multiple; } btn2.onclick = function(){ result.innerHTML = test.value; } </script>

selectedIndex

selectedIndex属性返回基于0的选中项的索引,如果没有选中项,则值为-1。对于支持多选的控件,只保存选中项中第一项的索引

<select> <option value="a">1</option> <option value="b">2</option> <option>3</option> </select> <button>是否多选</button> <button>获取索引</button> <div></div> <script> btn1.onclick = function(){ test.multiple = !test.multiple; } btn2.onclick = function(){ result.innerHTML = test.selectedIndex; } </script>

size

size属性表示选择框的可见行数

<select> <option value="a">1</option> <option value="b">2</option> <option>3</option> </select> <button>可见1行</button> <button>可见2行</button> <button>可见3行</button> <div></div> <script> btn1.onclick = function(){ test.size = 1; } btn2.onclick = function(){ test.size = 2; } btn3.onclick = function(){ test.size = 3; } </script>

options

options属性表示控件中所有的<option>元素

<select> <option value="a">1</option> <option value="b">2</option> <option>3</option> </select> <script> //[option, option, option, selectedIndex: 0] console.log(test.options) </script>

<option>

在DOM中,每个<option>元素都有一个HTMLOptionElement对象表示。为便于访问数据, HTMLOptionElement对象也定义了一些属性

[注意]IE浏览器不支持为<option>元素设置display:none

index

index属性表示当前选项在options集合中的索引

label

label属性表示当前选项的标签

[注意]IE9-浏览器不支持

selected

selected属性表示当前选项是否被选中。将这个属性设置为true可以选中当前选项

text

text属性表示选项的文本

value

value属性表示选项的值

[注意]在未指定value特性的情况下,IE8会返回空字符串;而其他浏览器返回text属性的值

<select> <option value="a" selected>1</option> <option value="b">2</option> <option>3</option> </select> <script> var option = test.options[0]; console.log(option.index);//0 console.log(option.label);//1,IE9-浏览器返回空字符串'' console.log(option.selected);//true console.log(option.text);//1 console.log(option.value);//a </script>

添加选项

【1】添加选项可以使用DOM的appendChild()或insertBefore()方法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwfdxp.html