我目前正在尝试从外部javascript数组中填充选择列表。它工作,但我试图使用ID列填充只有某些值,这是失败的。我正在使用复选框和“If”语句来查看选中的框,并根据此选择填充相应的数组值。然后我在for循环中使用另一个'If'来匹配数组中的ID值,并将匹配的值添加到选择中。但是,似乎完全无视条件并将整个数组读入选择列表。我的代码可能是一个明显的错误,因为我只是一个新手。
function populateIslandList(){
var form = document.forms["island_form"];
var islands = form.islands;
if (islands[0].checked){alert("works");
for (i = 0; i < pislands.length; i++)
if (pislands[i][1] = 1){
document.forms["location"].islands.options[i] =
new Option(pislands[i][0], i)}};
if (islands[1].checked){alert("works");
for (i = 0; i < pislands.length; i++)
if (pislands[i][1] = 2){
document.forms["location"].islands.options[i] =
new Option(pislands[i][0], i)}};
}
答案 0 :(得分:0)
你的第一个错误就在这里:
var islands = document.getElementById("island_form");
document.getElementById()
返回单个DOM元素,而不是对象列表。因此,islands[0]
和islands[1]
将被取消定义,islands[0].checked
将导致脚本错误。
您只能拥有一个具有给定ID的DOM元素。你可以有多个带有类名的元素,所以也许你应该切换到使用类名并使用document.getElementsByClassName("something")
仅供参考,你应该在浏览器错误控制台或调试控制台中查看脚本错误,因为这应该会给你一些麻烦。