javascript - 无法读取未定义的属性 'undefined'?为什么会出现这个错误?

标签 javascript

var select = document.getElementById("source"); 
var select2= document.getElementById("status");
var option = ["1", "2", "3", "4", "5","6","7","8","9"];
var option2= [];

function moveright() {
    var a = source.options[source.selectedIndex].value;
    var option = document.createElement("option");
    option.text = a;
    select2.add(option);
    select.remove(i);
}

function moveleft() {
    var b = status.option2[status.selectedIndex].value;
    var option2 = document.createElement("option");
    option2.text = b;
    select.add(option2);
    select2.remove(i);
}

for(i = 0; i < option.length; i++) {
    var opt = option[i];
    var a = document.createElement("option");
    a.innerHTML = opt;
    a.value = opt;
    select.appendChild(a);
}

for(i = 0; i < option2.length; i++) {
    var opt2 = option2[i];
    var a = document.createElement("option");
    a.innerHTML = opt2;
    a.value = opt2;
    select2.appendChild(a);
}
<select id = "source" multiple size = "10" onclick = "moveright ()">
    <option>Choose a number</option>
</select>
<select id = "status" multiple size = "10" onclick = "moveleft ()">
    <option>Choose a number </option>
</select>

我是 JavaScript 新手,我正在尝试将下拉值从一个下拉列表推到另一个下拉列表中。第一个下拉菜单有效,但第二个下拉菜单不起作用。谁能帮我?我只在 JavaScript 数组中尝试过。

最佳答案

略有改变,但给了你预期的结果;) 工作fiddle

在您的 moverightmoveright 中,您有一个 undefined variable i 。我假设您想使用选定的选项索引来删除自身。

并且您应该编写完整的选择器来获取元素,而不是直接使用它的 id。浏览器获取 source id 并作为 html 元素返回,但是它无法使用 status 执行此操作,因为存在 window.status 这样的属性。 .

关于javascript - 无法读取未定义的属性 'undefined'?为什么会出现这个错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43366284/

相关文章:

javascript - 仅显示图表上的第一个和最后一个 y 轴标签

javascript - 具有可编辑元素的表单在 angular-x-editable 示例代码中应具有 `editable-form` 属性

javascript - jQuery (JS) 错误 : ReferenceError: Can't find variable: If

php - 通过 jQuery 使用 AJAX 发布 MySQL 结果

javascript - HighCharts:多系列时列不居中

javascript - 更新编号使用 JQuery 的 div 元素列表中的类别

javascript - 网格实时搜索 extjs

javascript - 该变量的 typedef 不会产生警告

javascript - HTML 5 Canvas - 旋转、缩放、平移和绘制图像

javascript - Fat-Free 框架 + JQuery AJAX GET = 无响应