在javascript中选择<select>标签的值。问题</选择>

时间:2009-07-13 20:53:26

标签: javascript html

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

我的<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 is undefined”。

有人可以帮我解决这个问题。

最佳

Zeeshan

2 个答案:

答案 0 :(得分:13)

如果按ID选择,则应使用:

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

   alert(sel.options[sel.selectedIndex].value); 
}

答案 1 :(得分:5)

简单方法,更改代码,使表单字段具有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); 
}