gpt4 book ai didi

javascript - 如何根据选择框值将 div 复制一定次数?

转载 作者:行者123 更新时间:2023-11-30 07:06:14 26 4
gpt4 key购买 nike

我正在尝试制作一个脚本,当我在下拉列表中选择 4 时,div 会重复 4 次。

<div>repeat<div>

<script type = "text/javascript">
document.write('<select>')
for (var i = 0; i < 10; i++) {
document.write('<option value=' + i + '>' + i + '</option>');
}
document.write('</select>')
</script>

现在的问题是重复用户在下拉列表中选择的次数。

demo

最佳答案

首先,don't use document.write .

您已经使用 jQuery 标记了您的问题,所以我假设您正在使用它。

像这样的东西应该可以工作(fiddle):

HTML:

<div id="repeatDiv">repeat</div>

<select id = "mySelect">
<option value = "1">1</option>
<option value = "2">2</option>
<option value = "3">3</option>
...
<option value = "10">10</option>
</select>

Javascript:

jQuery("#mySelect").change(function() {
var value = jQuery(this).val();
var $repeatDiv = jQuery("#repeatDiv");

for(var i = 0; i < value; i++) {
$repeatDiv.after($repeatDiv.clone().attr("id", "repeatDiv" + new Date().getTime()));
}
});

我修改了我的解决方案以使用克隆并为每个元素提供唯一的 ID。

非 jQuery 版本有点冗长 (fiddle):

document.getElementById("mySelect").addEventListener("change", function(event) {
var value = event.target.options[event.target.selectedIndex].value;
var repeatDiv = document.getElementById("repeatDiv");

for(var i = 0; i < value; i++) {
var newDiv = document.createElement("div");
newDiv.id = "repeat" + new Date().getTime();
newDiv.innerHTML = repeatDiv.innerHTML;
repeatDiv.parentNode.insertBefore(newDiv, repeatDiv.nextSibling); //essentially an insertAfter
}
}, true);

关于javascript - 如何根据选择框值将 div 复制一定次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6308970/

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