selectedIndex返回“undefined”作为值

时间:2010-08-25 16:31:50

标签: javascript

如果这是一个愚蠢的问题,请原谅我;自从我使用javascript以来已经很多年了。这实际上是通过PHP在Joomla中呈现的javascript和html,但我尝试在普通的旧本地HTML文件中使用相同的代码,我得到了同样的错误。我有一个带有几个选项的选择字段,而onchange我想将文本字段的值设置为所选选项的值。无论我选择哪个选项,文本字段都将设置为“未定义”。谁能帮我吗?这是简单的HTML代码:

<html>
<head>
<script type="text/javascript">
function setPrefix(){
    var f = document.adminForm;
    f.prefix.value = f.editprefixes.selectedIndex.value;
}
</script>
</head>
<body>

<form name="adminForm">

<select name="editprefixes" onchange="javascript:setPrefix()">
<option value=1000>1000</option>
<option value=1001>1001</option>
<option value=1005>1005</option>
<option value=1011>1011</option>
<option value=1016>1016</option>
</select>
<br />

<input type="text" name="prefix" value="" />
</form>
</body>
</html>

2 个答案:

答案 0 :(得分:5)

<select>的{​​{1}}属性不是指实际的selectedIndex对象,而是一个对应于所选选项索引的整数(所以第一个选项)是0,秒是1,依此类推。)

如果要获取所选选项的值,则需要使用:

<option>

答案 1 :(得分:1)

试试这个:

f.prefix.value = f.editprefixes.options[f.editprefixes.selectedIndex].value;