gpt4 book ai didi

javascript - 根据另一个选定的下拉列表更改下拉列表中的选项

转载 作者:行者123 更新时间:2023-12-02 16:24:38 25 4
gpt4 key购买 nike

我正在尝试做 this您有一个下拉列表,根据您的选择,下一个下拉列表将有不同的选项。

我的代码在 jsfiddle

<!DOCTYPE html>
<html>
<body>

<select id="diffList" onchange="changeList()">
<option value="">-- Difficulty --</option>
<option value="1">Easy</option>
<option value="2">Medium</option>
<option value="3">Difficult</option>
</select>

<select id="numbList"></select>

<script>
var difficulty = {};
difficulty['1'] = [1,2,3];
difficulty['2'] = [4,5,6];
difficulty['3'] = [7,8,9];

function changeList() {
var diffList = document.getElementById("diffList");
var numbRange = document.getElementById("numbList");
var selectDiff = diffList.options[diffList.selectIndex].value;
while(numbRange.options.length)
{
numbRange.remove(0);
}
var diff = difficulty[selectDiff];
if(diff)
{
var i;
for(i = 0; i < diff.length; i++)
{
var difficulty = new Option(diff[i], i);
numbRange.options.add(difficulty);
}
}
}
</script>

</body>
</html>

我遇到的问题是下一个下拉列表没有显示任何选项。我已经检查了我的代码很多次,但我似乎仍然无法找出它有什么问题。有人介意查看一下并告诉我吗?

非常感谢。

最佳答案

这里是working code (仅测试了 ib Chrome)。

这里有一个问题 - for 循环不会在 JS 中创建嵌套作用域,因此它掩盖了全局变量困难

for(i = 0; i < diff.length; i++) {
var difficulty = new Option(diff[i], i);
...

关于javascript - 根据另一个选定的下拉列表更改下拉列表中的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28790638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com