输入框后面有两个按钮+和-,点击+按钮增加一个输入框,点击-按钮删除一个input。
先上效果图:
![点击查看效果图](https://i-blog.csdnimg.cn/blog_migrate/8ff0d7e3c3173c38b9ab6c3edb6db420.gif)
代码实现:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
</head>
<body>
<ul class="box">
</ul>
</body>
<script>
// 动态渲染
function createHtml(liNumbers) {
var liHtml = '';
for(var i=0; i<liNumbers; i++) {
liHtml += '<li> <input class="input'+ i +'" /> <button class="add-btn'+ i +'">+</button> <button class="minus-btn'+ i +'">-</button> </li>';
}
$(".box").append(liHtml);
};
createHtml(2);
// 获取点击btn的class
$('.box').on('click', 'button', function(e){
var className = $(this).attr('class'); //点击当前btn的class
var index = $('.box').find('input').length; // 下一个class的index
if(className.indexOf('add') != -1) { // 点击的是+
var htmlTemplate = '<li> <input class="input'+ index +'" /> <button class="add-btn'+ index +'">+</button> <button class="minus-btn'+ index +'">-</button> </li>';
$(this).parent().after(htmlTemplate);
}
if(className.indexOf('minus') != -1) { // 点击的是-
$(this).parent().remove();
}
})
</script>
</html>
javacript代码种给每一行元素对应的classname都不一样,以便于后续获取input值的时候不会混淆。
先简单写到这里吧,帮助到你了请点个赞呗,万分感谢。