javascript - 如何使用 jquery 添加和删除带有按钮的行?
问题描述
+
单击按钮时如何添加行。并在单击-
按钮时删除行 下面是代码。
请帮助我提供指导方针,甚至是一段代码javascript
,我可以使用它来添加和删除行buttons
。
帮助将不胜感激。
<body>
<div class="container">
<form method="POST">
<div class="form-row">
<div class="col">
Dish Name<input type="text" class="form-control" id="dish_name">
</div>
<div class="col">
Price<input type="text" class="form-control" id="price">
</div>
</div>
<div class="form-row">
<div class="col">
Description<input type="text" class="form-control" id="description">
</div>
</div>
<div class="form-row" id="container">
<div class="col-md-3">
Name<input type="text" class="form-control" id="name">
</div>
<div class="col-md-3">
Unit<input type="text" class="form-control" id="description">
</div>
<div class="col-md-3">
Price<input type="text" class="form-control" id="price1">
</div>
<div class="col-md-3">
<button type="button" id="add-row"><span>+</span></button>
</div>
</div>
<div class="form-row" id="container1">
</div>
</form>
</div>
<script type="text/javascript">
$(document).ready(function(){
var data = '<div class="col-md-3">'
+ 'Name<input type="text" class="form-control" id="name">'
+ '</div>'
+ '<div class="col-md-3">'
+ 'Unit<input type="text" class="form-control" id="description">'
+ '</div>'
+ '<div class="col-md-3">'
+ 'Price<input type="text" class="form-control" id="price1">'
+ '</div>'
+ '<div class="col-md-3">'
+ '<button type="button" id="delete-row"><span>-</span></button>'
+ '</div>'
+ '</div>'
$('#add-row').click(function(){
$('#container1').append(data);
});
});
</script>
</body>
解决方案
首先用具有特定类的容器包装您的数据 html,例如,<div class="input-wrapper row"> ...</div>
然后您应该将删除 btn 替换为id
属性class
,(重复 id 的语义错误),
也为了不破坏布局,将container1
类替换from-row
为form-group
<div class="form-group" id="container1">
...
</div>
最后只需在“删除行”按钮上添加事件委托以删除包装的 div 输入:
$('#container1').on("click", ".delete-row", function() {
$(this).parents(".input-wrapper").remove();
});
请参阅下面的工作片段:
$(document).ready(function() {
var data = '<div class="input-wrapper row"><div class="col-md-3">' +
'Name<input type="text" class="form-control" id="name">' +
'</div>'
+
'<div class="col-md-3">' +
'Unit<input type="text" class="form-control" id="description">' +
'</div>'
+
'<div class="col-md-3">' +
'Price<input type="text" class="form-control" id="price1">' +
'</div>'
+
'<div class="col-md-3">' +
'<button type="button" class="delete-row"><span>-</span></button>'
+
'</div>' +
'</div>' +
'</div>'
$('#add-row').click(function() {
$('#container1').append(data);
});
$('#container1').on("click", ".delete-row", function() {
$(this).parents(".input-wrapper").remove();
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
<form method="POST">
<div class="form-row">
<div class="col">
Dish Name<input type="text" class="form-control" id="dish_name">
</div>
<div class="col">
Price<input type="text" class="form-control" id="price">
</div>
</div>
<div class="form-row">
<div class="col">
Description<input type="text" class="form-control" id="description">
</div>
</div>
<div class="form-row" id="container">
<div class="col-md-3">
Name<input type="text" class="form-control" id="name">
</div>
<div class="col-md-3">
Unit<input type="text" class="form-control" id="description">
</div>
<div class="col-md-3">
Price<input type="text" class="form-control" id="price1">
</div>
<div class="col-md-3">
<button type="button" id="add-row"><span>+</span></button>
</div>
</div>
<div class="form-group" id="container1">
</div>
</form>
</div>
推荐阅读
- java - 减少 JDBC MySQL 连接尝试的超时
- java - 对象访问是否可以在 Java 中使用该对象的最终字段访问重新排序?
- java - Spring Boot + Apache Reverse Proxy:这种主机和端口的组合需要 TLS
- python - 在本地 pip install google-colab 后,Jupyter 笔记本卡住了
- python - 从 Arduino 读取模拟值并在 Tkinter GUI 上实时显示
- reactjs - 使用引导反应将 3 个项目彼此相邻对齐
- sql-server - 传输表时选择重复值的最新行?
- python - 使用python elasticsearch创建索引时如何处理try catch异常?
- sql-server - 使用 SQL 表中的主标识键列更新方法和视图的 MVC 问题
- python - Python Pandas - 在数据框中找到一个子字符串,然后在没有循环的情况下求和