gpt4 book ai didi

javascript - 链式 html 数字选择

转载 作者:行者123 更新时间:2023-12-03 12:10:29 27 4
gpt4 key购买 nike

对于javascript来说非常陌生,我有两个html数字选择,包括年份,我想将第二个选择与第一个选择链接起来,这样当我在第一个选择中选择年份时(而第二个选择没有选项)首先),第二个选择应包括从所选数字到当前年份的年份。

我的示例 HTML 代码:

<select id="1st select" onchange="generate_selectNumbers()">
<option value="choose" selected>choose a year</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
</select
<select id="2nd select">
</select>

我的 JavaScript 代码:

<script>
function generate_selectNumbers(){
var a = document.getElementById("1st select");
var b = document.getElementById("2nd select");
var i = a.options[a.selectedIndex].value;
var d = new Date();
var n = d.getFullYear();
for (i , i <= n, i++){
b.options[b.options.length]= new Option('i', 'i');
}
}
</script>

每当我从第一个选择中选择一年时,第二个选择就不会发生任何事情并且保持空白。我感谢您纠正我的 js 代码,或者如果我的代码完全错误,请提供新代码。或者我应该使用 ajax 进行第二次选择以使用新选项自动刷新?提前致谢。

最佳答案

我已经稍微修复了你的代码,它似乎可以工作。这是工作的 .html 文件。我还建议您使用更详细的变量名称。

这里是JSFiddle

编辑:更新为在插入新选项之前清除第二个选择选项。

<html>
<head>
<script type="text/javascript">
function generate_selectNumbers()
{
var a = document.getElementById("selOne");
var b = document.getElementById("selTwo");

// clear options in second select
for (var option in b) {
b.remove(option);
}

var i = a.options[a.selectedIndex].value;
var d = new Date();
var n = d.getFullYear();
for (i; i <= n; i++){
b.options[b.options.length]= new Option(i, i);
}
}
</script>
</head>
<body>
<select id="selOne" onchange="generate_selectNumbers()">
<option value="choose" selected>choose a year</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
</select>
<select id="selTwo">
</select>
</body>
</html>

关于javascript - 链式 html 数字选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24982936/

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