javascript - 从在 JSFiddle 上工作的数组填充下拉列表,但在本地计算机上不起作用?

标签 javascript html html-select appendchild

大家好,我正在尝试用数组填充下拉列表,但它不起作用,但当我在 JSFiddle 上使用相同的代码时,它工作正常。请帮忙

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="js/jquery-1.9.1.js">
</script>
<script type="text/javascript">

var select = document.getElementById("selectNumber");
var options = ["1", "2", "3", "4", "5"];
for(var i = 0; i < options.length; i++) {
    var opt = options[i];
    var el = document.createElement("option");
    el.textContent = opt;
    el.value = opt;
    select.appendChild(el);
}
</script>
</head>

<body>

<select id="selectNumber">
    <option>Choose a number</option>
</select>
</body>
</html>

当我使用如下所示的警报框时

var select = document.getElementById("selectNumber");
var options = ["1", "2", "3", "4", "5"];
for(var i = 0; i < options.length; i++) {
    var opt = options[i];
    var el = document.createElement("option");
    el.textContent = opt;
    el.value = opt;
    alert();
    select.appendChild(el);
    alert();
}

出现第一个警报框,但没有出现第二个警报框,即仅运行循环的第一次迭代,该迭代在 select.appendChild(el); 处终止。

最佳答案

将 JavaScript 代码放入 document.ready 函数中,如下所示:

<script type="text/javascript">
$(document).ready(function() {
var select = document.getElementById("selectNumber");
var options = ["1", "2", "3", "4", "5"];
for(var i = 0; i < options.length; i++) {
    var opt = options[i];
    var el = document.createElement("option");
    el.textContent = opt;
    el.value = opt;
    select.appendChild(el);
}
});
</script>

您的值未附加,因为 DOM 是在脚本执行后初始化的。将代码放入 document.ready 函数中是一个很好的做法。

关于javascript - 从在 JSFiddle 上工作的数组填充下拉列表,但在本地计算机上不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43225149/

相关文章:

javascript - javascript中的日期差异天数?

javascript - 在类中声明对象类型

javascript - 表单重定向成功/失败页面

javascript - 设置下拉列表的选定值,其中使用 Jquery 动态附加下拉列表的选项

php - Zend Framework - 在选择框下拉列表中设置 'selected' 值

Html\CSS - 无法将自定义选择标签与自定义复选框对齐

javascript - 如何等待 Java 小程序在 Safari 上完成加载?

html - 如何删除文本但保留 HTML 元素、属性和属性值?

javascript - 如何使表单仅在所有函数返回 true 时才提交?

javascript - 不知道如何解决(Php和Javascript之间)