0

这似乎是一件简单的事情,我真的很想多了解一点。这是我的问题。

我有一个选择,其中有几个不同的选项位于表单内。我需要一个变量来保存选择了哪个选项,这样我就可以根据选择的内容做不同的事情。

这是我的html:

    <!DOCTYPE html>
    <html>
    <head>
        <title>Test</title>
        <script src="script.js" type="text/javascript"></script>
    </head>
    <body>

    <form method="get">
        <table>
            <tr>
                <p>
                    Please choose your class:
                </p>
            </tr>
            <tr>
                <td>
                    <select name= "classSelect" id="classSelect" size = "3">
                        <option value = "CS211" selected = "selected">CS-211</option>
                        <option value = "CS111">CS-111</option>
                        <option value = "CS275">CS-275</option>
                    </select>
                </td>
            </tr>
        </form
    </body>
</html>

然后在我的 javascript 文件中,我只想声明一个全局变量:

var currentSelection = document.forms[0].classSelect.selectedIndex;

现在 currentSelection 总是为空,我不知道为什么。

4

1 回答 1

3

设置变量时,DOM 尚未呈现。要么等待 DOM 触发其就绪事件,要么将脚本设置为在文档加载后运行。这是一个解决方案:

window.onload = function() {
  // run this code on load
};

请注意,这将覆盖之前的 onload 函数。如果你有可用的 jQuery,你应该这样做以避免任何覆盖:

$(window).load(function() {});

这些变体也有效:

$(function() {});
$(document).ready(function() {});
于 2013-10-14T22:11:00.713 回答