javascript - 带有复选框的下拉菜单不起作用

标签 javascript jquery html twitter-bootstrap flask

<!DOCTYPE html>
<html lang="en">

<head>
</head>
    <title>test App</title>

    <!-- Bootstrap Core CSS -->
    <link href="/Project/static/css/bootstrap.min.css" rel="stylesheet">

    <!-- Custom CSS -->
    <link href="/Project/static/css/sb-admin.css" rel="stylesheet">
    <link href="/Project/static/css/bootstrap-multiselect.css" rel="stylesheet">

    <!-- Custom Fonts -->
    <link href="/Project/static/lib/css/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
    <script src="/Project/static/lib/js/jquery.min.js"></script>
<body>
<div >

        <ul id="ts" class="collapse">
            <select id="time-stamp" multiple="multiple">
                <option value="T1">T1</option>
                <option value="T2">T2</option>
                <option value="T3">T3</option>
                <option value="T4">T4</option>
                <option value="T5">T5</option>
            </select>
        </ul>
        <ul id="cs" class="collapse">
            <select id="chart-select" onchange="fillChart()">
                 <option value="error_info">select</option>
                 <option value="session_history">Error Info</option>
            </select>
        </ul>

</div>
<script src="/Project/static/js/jquery.js"></script>
<script src="/Project/static/js/bootstrap.min.js"></script>
<script src="/Project/static/js/bootstrap-multiselect.js"></script>
<script type="text/javascript">
        function fillChart()
        {

            var chkd = document.getElementById("time-stamp");
            var cids = [];
            for (var i=0;i<chkd.length;i++)
            {
                alert(i);
                if(chkd[i].checked)
                {
                    cids.push(chkd[i]);
                }
            }

            alert(cids);
        }
</script>

</body>
</html>

我正在尝试读取选中的复选框的所有字段的文本。但是,alert(cids) 在这里给出了 null。由于 cids.push(chkd[i]) 未执行,chkd[i].checked 始终返回 false。我可以知道我错在哪里吗?

最佳答案

您必须检查属性selected而不是checked:

请更改

if(chkd[i].checked)

if(chkd[i].selected)

另请检查 documentation of option element .

关于javascript - 带有复选框的下拉菜单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33117234/

相关文章:

html - 在 HTML 中,如何在 li 之前抑制 ul 之后的换行

javascript - 如何重用 react 表

jquery - 使用 jQuery 将 z-index 降序应用于 li

javascript - Select2 : Uncaught TypeError: options. 结果不是函数

c# - 将行添加到可编辑的 GridView 后,日期选择器未出现

css - 移动设备上背景图像拉伸(stretch)网站的问题

javascript - Angular 安全类型运算符在组件中不起作用

javascript - 如何使用 Javascript 从 Gridview 中的文本框中获取文本值

javascript - 在发送到服务器之前在 JS 中准备对象?

javascript - 按钮无法点击?