开发者问题收集

在JavaScript中选择<Select>标签的值。问题

2009-07-13
26120

我有一个外部 Javascript 文件,我正在尝试 alert select 标签的值。

我的 <select> 代码如下所示:

<select id="vote">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    </select>
<input type="button" value="vote" onclick="castvote();">

以及 Javascript(外部):

function castvote()
{
    alert(document.vote.options[document.vote.selectedIndex].value);
}

但我收到错误“document.vote 未定义”。

有人能帮我解决这个问题吗?

Best Zeeshan

2个回答

如果按 ID 选择,您应该使用:

function castvote() { 
   var sel = document.getElementById("vote");

   alert(sel.options[sel.selectedIndex].value); 
}
Philippe Leybaert
2009-07-13

简单的方法,更改您的代码,使您的表单字段具有 name 属性:

<select name="vote" id="vote">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<input type="button" value="vote" onclick="castvote();">

更好的方法,更改您的 javascript,使其通过其 ID 而不是通过文档对象来检索选择框:

function castvote() {
    var mySelect = document.getElementById("vote"); 
    alert(mySelect.options[mySelect.selectedIndex].value); 
}
Matt Bridges
2009-07-13