gpt4 book ai didi

javascript - 如何创建一个可以通过按钮添加和删除输入的列表?

转载 作者:行者123 更新时间:2023-12-02 22:17:46 26 4
gpt4 key购买 nike

我有一个主意。为此,我需要一个像这样的列表:

enter image description here

所以主要的想法是有一个加号和一个减号按钮。当用户按下加号按钮时,会添加另一个输入。当按下每个输入旁边的减号按钮时,应删除相关的输入。

所以我已经在这里开始使用它,但我不太喜欢它,而且功能还没有给出。我怎样才能聪明地处理这个问题?是不是id有问题?我的意思是我可以复制一行或插入它(使用 JS),但是如何才能稍后获取一个映射(使用 JS)中所有输入的值?很多问题..

.out-task {
display: flex;
margin-bottom: 8px;
}

.delete-task-button {
margin-left: 6px;
background: red;
}

.button {
width: 30px;
height: 30px;
display: block;
border-radius: 50%;
color: white;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
}

.add-task-button {
background: green;
}
<div class="wrapper">
<label>Tasks</label>
<div id="tasks-wrapper">
<div class="out-task">
<input type="text" id="task" name="task" value="">
<span class="delete-task-button button">-</span>
</div>
</div>
<span class="add-task-button button">+</span>
</div>

谢谢你帮我!

最佳答案

正如我批评了每个人一样,我让你对我的代码做同样的事情:

const ListTasks     = document.querySelector('#wrapper > div')
, PosInsertTask = document.querySelector('#wrapper > div > span.add-task-button')
, taskWrapper = document.querySelector('#template > div')
;
ListTasks.onclick=e=>
{
if (e.target.classList.contains('add-task-button'))
{
let newTask = taskWrapper.cloneNode(true)
ListTasks.insertBefore(newTask, PosInsertTask)
}
else if (e.target.classList.contains('delete-task-button'))
{
ListTasks.removeChild(e.target.closest('.out-task'))
}
}
.out-task {
display : flex;
margin-bottom: 8px;
}
.delete-task-button {
margin-left: 6px;
background : red;
}
.button {
width : 30px;
height : 30px;
display : block;
border-radius : 50%;
color : white;
display : flex;
justify-content: center;
align-items : center;
cursor : pointer;
font-weight : bold;
}
#wrapper { display: inline-block; border: 1px solid grey; padding:.8em;}
#wrapper h4 { text-align: center; }
.add-task-button {
background: green;
margin: auto;
}
#template { display: none;}
<div id="wrapper">
<h4>Tasks</h4>
<div>
<div class="out-task">
<input type="text" value="">
<span class="delete-task-button button">-</span>
</div>
<span class="add-task-button button">+</span>
</div>
</div>

<div id="template">
<div class="out-task">
<input type="text" value="">
<span class="delete-task-button button">-</span>
</div>
</div>

关于javascript - 如何创建一个可以通过按钮添加和删除输入的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59331574/

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