我有多个下拉选项卡,我想通过使用数组来填充,我希望某些下拉选项卡能够更改其他下拉选项卡显示的内容。所以我使用if语句设置数组。但它似乎没有工作,我不确定它是否因为它我只是完成它,基本上无法编程,或者如果我在某处犯了一个愚蠢的错误。
这是我的代码
var ticketAmount_ = document.getElementById("ticketAmount");
var options = ["1", "2", "3", "4"];
for (var i = 0; i < options.length; i++) {
var opt = options [i];
var element = document.createElement("option");
element.textContent = opt;
element.value = opt;
ticketAmount_.appendChild(element);
;
}
var movieName = function() {
document.getElementById('movieName').options.length = 0;
if (document.getElementById("ticketAmount").value == 1) {
var movieSelection1 = document.getElementById("movieName");
var options = ["A", "B", "C", "D"];
for (var i = 0; i < options.length; i++) {
var opt = options [i];
var element = document.createElement("option");
element.textContent = opt;
element.value = opt;
movieSelection1.appendChild(element);
}
}
else if
(document.getElementById("ticketAmount").value == 2) {
var movieSelection2 = document.getElementById("movieName");
var options = ["E", "F", "G", "H"];
for (var i = 0; i < options.length; i++) {
var opt = options [i];
var element = document.createElement("option");
element.textContent = opt;
element.value = opt;
movieSelection2.appendChild(element);
;
}
}
};
我将movieName函数设置为在window.onload上启动。
这实际上可以吗?
我是javascript的新手很抱歉,如果这不是一个很好的问题,由于某种原因,我的简单问题会被拒绝,但是嘿,我们都需要在某个地方学习。
答案 0 :(得分:0)
您确定要在加载时运行吗?而不是响应第一次选择的变化?
我认为你是这样的:
false
然后为你的js:
<div>
<select id='ticketAmount' onchange="movieName()"></select>
<select id='movieName'></select>
</div>
请注意,我已使用&#39; options.length = 0&#39;清除了第二个选项中的选项。在添加它们之前。
你已经提到你是js的新手,所以我想我会提到一些你可以查找的其他概念来节省你自己的努力/代码: