众所周知,要取得一个列表当前选项的值很容易,只要用formname.selectname.value
例:
<form name="a" method="post" action="">
<select name="b" onChange="document.all.a.c.value=document.all.a.b.value">
<option value="001">第一</option>
<option value="002">第二</option>
<option value="003">第三</option>
<option value="004">第四</option>
</select>
当前值为:<input type="text" name="c" style="border:0" />
</form>
但是如果我想取得是列表当前的标签怎么办?(如第一、第二、第三、第四)一般想法是在js中把列表值给替换掉。
例:<script language="javascript">
function show()
{
if (document.all.a.b.value==001) {document.all.a.c.value='第一'}
if (document.all.a.b.value==002) {document.all.a.c.value='第二'}
if (document.all.a.b.value==003) {document.all.a.c.valu='第三'}
if (document.all.a.b.value==004) {document.all.a.c.valu='第四'}
}
</script>
<form name="a" method="post" action="">
<select name="b" onChange="show()">
<option value="001">第一</option>
<option value="002">第二</option>
<option value="003">第三</option>
<option value="004">第四</option>
</select>
当前值为:<input type="text" name="c" style="border:0" />
</form>
但是如果我的类表有很多选项,或者选项是动态的,那该怎么才能取得列表当前选项的标签呢?替换列表值肯定是不行了。这是我们就要用到
例:
<script language="javascript">
function show()
{
document.all.a.c.value=document.a.b.options[document.a.b.selectedIndex].text
}
</script><form name="a" method="post" action="">
<select name="b" onChange="show()">
<option value="001">第一</option>
<option value="002">第二</option>
<option value="003">第三</option>
<option value="004">第四</option>
</select>
当前值为:<input type="text" name="c" style="border:0" />
</form>
参考:
Select
属性:
name 设定提交信息时的信息名称,对应文档select中的name
Length 对应文档select中的length
options 组成多个选项的数组
selectIndex 该下标指明一个选项
select在中每一选项[option]都含有以下属性:
Text 选项对应的文字
selected 指明当前选项是否被选中
Index 指明当前选项的位置
defaultselected 默认选项
事件:
OnBlur 当select选项失去焦点时,产生该文件
onFocas 当select获得焦点时,产生该文件
Onchange 选项状态改变后,产生该事件