下拉列表是网页中一种最节省页面空间的选择方式,默认状态下只显示一个选项,只有单击下拉按钮后才能看到全部的选项。例如,淘宝网首页的选择地区一栏,用到的就是下拉列表,我们来看一下:
我们都知道无序列表由 <ul><li> 配合使用,有序列表由 <ol><li> 配合使用。HTML 下拉列表与它们类似,是由 <select><option> 配合使用的。具体语法格式如下:
其中,<select> 标签用来创建一个下拉列表,<option> 标签表示下拉列表中的每一项(条目)。接下来我们看一个示例:
<form action="http://bbs.cdsy.xyz/member.php?mod=logging&action=login" method="post">
年龄区间:
<select>
<option>18岁以下</option>
<option>18-28岁</option>
<option>28-38岁</option>
<option>38岁以上</option>
</select>
</form>
运行结果如图所示:
<form action="http://bbs.cdsy.xyz/member.php?mod=logging&action=login" method="post">
年龄区间:
<select name="selectList">
<option>18岁以下</option>
<option>18-28岁</option>
<option>28-38岁</option>
<option>38岁以上</option>
</select>
</form>
运行结果如图所示:
在文章的开始我们提到过,下拉列表默认状态下只显示一个选项。如果需要让页面显示多个选项,就要使用 size 属性。我们来看一下具体的使用方法:
<form action="http://bbs.cdsy.xyz/member.php?mod=logging&action=login" method="post">
年龄区间:
<select name="selectList" size="4">
<option>18岁以下</option>
<option>18-28岁</option>
<option>28-38岁</option>
<option>38岁以上</option>
</select>
</form>
谷歌浏览器的运行结果:
下拉列表默认只允许选择一个选项,如果允许用户选择多个,就要用到 multiple 属性。当 multiple 属性值等于 multiple 时,表示允许用户选择多个选项。我们来看一下具体使用方法:
<form action="http://bbs.cdsy.xyz/member.php?mod=logging&action=login" method="post">
年龄区间:
<select name="selectList" multiple="multiple" size="4">
<option>18岁以下</option>
<option>18-28岁</option>
<option>28-38岁</option>
<option>38岁以上</option>
</select>
</form>
运行结果如图所示(谷歌浏览器):
注意:此时只需按住ctrl+鼠标左键就可以选择多个选项。multiple="multiple" 可以简写为 multiple。
disabled 属性可以禁用下拉列表,使其不能再获得焦点或被修改。被禁用后,它的值不会提交。具体使用方法如下:
<form action="http://bbs.cdsy.xyz/member.php?mod=logging&action=login" method="post">
年龄区间:
<select name="selectList" multiple="multiple" size="4" disabled>
<option>18岁以下</option>
<option>18-28岁</option>
<option>28-38岁</option>
<option>38岁以上</option>
</select>
</form>
运行结果如图所示:
通过运行结果可以发现,下拉列表的每一项都被“灰化”(gray-out)了,而且不可以被选择。
上述为 <select> 标签的属性,接下来我们看一下 <option> 标签的属性。
在为 <select> 标签设置了 multiple 属性后,就可以通过 <option> 标签的selected="selected"实现某一项的预先选中。具体使用方法如下:
<form action="http://bbs.cdsy.xyz/member.php?mod=logging&action=login" method="post">
年龄区间:
<select name="selectList" multiple>
<option selected="selected">18岁以下</option>
<option>18-28岁</option>
<option selected="selected">28-38岁</option>
<option>38岁以上</option>
</select>
</form>
运行结果如图所示:
<option> 标签的 value 属性用来定义当下拉列表在提交时,发送给服务器的值。value 值并不会显示在页面上。使用方法如下:
<form action="http://bbs.cdsy.xyz/member.php?mod=logging&action=login" method="post">
年龄区间:
<select name="selectList" multiple>
<option selected="selected" value="underage">18岁以下</option>
<option value="teens">18-28岁</option>
<option selected="selected" value="youth">28-38岁</option>
<option value="more">38岁以上</option>
</select>
</form>
运行结果如图所示:
<option> 标签也有 disabled 属性,不同于 <selected> 标签的 disabled 属性,它只能禁用列表中的某一项。