gpt4 book ai didi

javascript - 如何在选择选项值上创建 x 数量的 div

转载 作者:行者123 更新时间:2023-11-27 23:48:49 25 4
gpt4 key购买 nike

这是我在这里提出的第一个问题,所以我会尝试尽可能详细!我目前正在创建一个 HTML 表单,其中包含选项 1 - 4 的选择选项。我的目标是使用 Javascript 函数根据用户从表单中选择的值来创建一定数量的 div。

例如,如果用户选择了选项2,我想自动生成2个div容器。然后,如果用户选择在...之后选择另一个选项,则会创建正确数量的 div。

我选择的 HTML 目前看起来像这样;

<select id="select_seasons">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>

我创建了一个脚本,它将在单击按钮时创建一个 div,但这不是我的目标;

var number = 2; 
document.getElementById('add').addEventListener('click', function(
) {
var newDiv = document.createElement('div');
newDiv.id = 'container';
newDiv.innerHTML = "<label>Episode " + number + " name</label> <input type='text' name='episode'" + number +" /> <label>Episode " + number + " embed</label> <input type='text' /> ";
document.getElementById('contain_form').appendChild(newDiv);
number++;
});

如果有人能帮助我使用实现此功能所需的 JS,我将不胜感激,我希望我在这篇文章中已经足够清楚地解释了自己!

如果需要,请随时发表评论并询问我的详细信息。

提前致谢,山姆

最佳答案

您需要在 select 元素上绑定(bind) change 事件。像这样的事情:

var divs = [];

document.getElementById('select_seasons').addEventListener('change', function(e) {
var n = +this.value;
for (var i = 0; i < divs.length; i++) {
divs[i].remove();
}
divs = [];
for (var i = 0; i < n; i++) {
var d = document.createElement("div");
d.className = "new";
document.body.appendChild(d);
divs.push(d);
}
});
.new {
background-color: red;
width: 100px;
height: 20px;
margin: 1px;
}
<select id="select_seasons">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>

关于javascript - 如何在选择选项值上创建 x 数量的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32896020/

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