gpt4 book ai didi

javascript - 如何添加另一个相同的下拉列表?

转载 作者:搜寻专家 更新时间:2023-10-31 08:25:13 24 4
gpt4 key购买 nike

您好,我有这个非常简单的代码以及我为学校项目创建的修订时间表。它只是一个简单的下拉列表,允许用户选择他们所做的主题。我将如何添加一个按钮来在下面创建另一个相同的列表,以便用户可以根据需要添加多个主题?

<!doctype html>
<html>
<head>
<title>Select your subjects</title>
<select id="subject1" name="subject1">
<option value="Maths">Maths</option>
<option value="Physics">Physics</option>
<option value="English">English</option>
<option value="Compting">Computing</option>
</select>
</head>
<body>
</body>
</html>

最佳答案

是这样的吗?

请注意,我已将选择的名称更改为数组 []。因此,当您在服务器端处理数据时,请注意您将处理一个元素数组,而不是 subject1、subject2、subject3 等。

function addCourse() {
document.getElementById("subjects").innerHTML += '\
<br><select name="subject[]">\
<option value="Maths">Maths</option>\
<option value="Physics">Physics</option>\
<option value="English">English</option>\
<option value="Compting">Computing</option>\
</select>';
}

addCourse();

document.getElementById("add").addEventListener("click", addCourse);
<!doctype html>
<html>

<head>
</head>

<body>
<form method="post" action="">
<title>Select your subjects</title>
<div id="subjects">
</div>
</form>
<input type="button" id="add" value="Add Course">
</body>

</html>

我实际上建议使用下拉菜单来指定用户想要的列表数量。所以这样的事情会更好:

var maxCourses = 5;

var select = document.getElementById("num");
var subjects = document.getElementById("subjects");
var previous = 1;

for (var i = 1; i <= maxCourses; i++) {
var opt = document.createElement('option');
opt.value = i;
opt.innerHTML = i;
select.appendChild(opt);
}

select.addEventListener("change", function() {
var diff = select.value - previous;
for (var i = 0; i < Math.abs(diff); i++)
if (diff > 0)
addCourse();
else
removeCourse();

previous = select.value;
});

function addCourse() {
subjects.innerHTML += '\
<select name="subject[]">\
<option value="Maths">Maths</option>\
<option value="Physics">Physics</option>\
<option value="English">English</option>\
<option value="Compting">Computing</option>\
</select>';
}

function removeCourse() {
subjects.removeChild(subjects.lastChild);
}

addCourse();
select {
display: block;
}
<!doctype html>
<html>

<head>
</head>

<body>
<form method="post" action="">
<title>Select your subjects</title>
Number of Courses:
<select id="num"></select><br>
<div id="subjects">
</div>
</form>
</body>

</html>

关于javascript - 如何添加另一个相同的下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39622477/

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