Javascript 从html中的select标记获取文本

Javascript 从html中的select标记获取文本,javascript,html,Javascript,Html,我有两个下拉菜单,分别命名为日期和时间。我想得到那份工作 当我点击一个按钮时,选项标签中的文本,但是javascript函数似乎不起作用。我已经找到了类似的问题(和答案),但没有任何效果。代码如下: <!DOCTYPE html> <html> <head> <script type="text/javascript"> function collectData() { var index = document.getElementById

我有两个下拉菜单,分别命名为日期和时间。我想得到那份工作 当我点击一个按钮时,选项标签中的文本,但是javascript函数似乎不起作用。我已经找到了类似的问题(和答案),但没有任何效果。代码如下:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function collectData() {
    var index = document.getElementById("date").selectedIndex;
    var date = document.getElementById("date").options[index].text;
    window.alert("You selected: " + date);
}
</script>
</head>
<body>
    <select name="date">
    <option value="1">date 1</option>
    .....
    </select>

    <select name="time">
    <option value="1">time 1</option>
    .....
    </select>

    <button type="button" onclick="collectData()">Get data</button>
</body>
</html>

函数collectData(){
var index=document.getElementById(“日期”)。选择索引;
var date=document.getElementById(“日期”).options[index].text;
window.alert(“您选择:“+日期”);
}
日期1
.....
时间1
.....
获取数据

您正在按id选择元素,但未在任何位置分配id

您需要将正确的id添加到项目:

<select id="date" name="date">
....
<select id="time" name="time">
注意:getElementsByName返回一个数组,这就是添加
[0]
以选择具有该名称的第一项的原因。

将代码更改为

    <!DOCTYPE html>
    <html>
    <head>
    <script type="text/javascript">
    function collectData() {
        var e = document.getElementById("date");
        var strUser = e.options[e.selectedIndex].value;
        window.alert("You selected: " + strUser);
    }
    </script>
    </head>
    <body>
        <select name="date" id="date">
        <option value="1">date 1</option>
..

        </select>

        <select name="time">
..
        </select>

        <button type="button" onclick="collectData()">Get data</button>
    </body>
    </html>

函数collectData(){
var e=document.getElementById(“日期”);
var strUser=e.options[e.selectedIndex].value;
window.alert(“您选择:“+strUser”);
}
日期1
..
..
获取数据

您使用的是
getElementById('date')
。因此,请添加id属性以选择元素。

尝试以下操作:

函数collectData(){
var ddl=document.getElementById(“日期选择”);
var text=ddl.options[ddl.selectedIndex].text;
window.alert(“您选择:”+文本);
}

日期1
日期2
日期3
获取数据
    <!DOCTYPE html>
    <html>
    <head>
    <script type="text/javascript">
    function collectData() {
        var e = document.getElementById("date");
        var strUser = e.options[e.selectedIndex].value;
        window.alert("You selected: " + strUser);
    }
    </script>
    </head>
    <body>
        <select name="date" id="date">
        <option value="1">date 1</option>
..

        </select>

        <select name="time">
..
        </select>

        <button type="button" onclick="collectData()">Get data</button>
    </body>
    </html>