javascript - 如何编辑和删除一行?
问题描述
我有一张桌子:
<table id="table">
<thead>
<tr>
<th> ID </th>
<th> Job</th>
<th> Title</th>
</tr>
</thead>
</table>
我还有一个模式,当用户单击提交时会创建一个新行,它会获取该数据并创建一个新行。在每一行旁边,我想要 2 个图标,一个编辑图标和一个删除图标。我只是好奇,如果用户选择“编辑”,我该如何设置它,它只会编辑那一行,或者如果用户选择“删除”,它只会删除那一行。
如果我有自己喜欢的 ID,这会更容易,但是当用户创建新行时,我无法创建随机 ID。
我应该如何解决这个问题?
以下是用户创建新行时的样子:
let id = document.getElementById('id').value;
let job = document.getElementById('job').value;
let title = document.getElementById('title').value;
$('#table').append('<tr><th class="icon"><button class="btn"><i class="mdi mdi-pencil" title="Edit"></i></button><button class="btn"><i class="mdi mdi-delete" title="Delete"></i></button></th><th>'+id+'</th><th>' + job + '</th><th>' + title + '</th></tr>')
对不起,如果这有点混乱。我没有经验,这是我知道如何将用户输入的数据添加到一行中的唯一方法。
谢谢!
解决方案
只需使用 jQuery 查找最近的行并将其删除。我对删除按钮做了一个删除类,以使其更容易。编辑行的类似概念,一旦您引用了行,您就可以深入了解要编辑的元素。
$('#table').append('<tr><th class="icon"><button class="btn"><i class="mdi mdi-pencil" title="Edit"></i></button><button class="btn delete"><i class="mdi mdi-delete" title="Delete"></i></button></th><th>'+id+'</th><th>' + job + '</th><th>' + title + '</th></tr>');
$('button.delete').on('click', function(){
$(this).closest('tr').remove();
});
推荐阅读
- angular - Angular Route Resolver 通过快速单击执行多次
- laravel - 运行工匠队列:在动态多租户多数据库系统上工作
- spring-boot - 在服务 bean 中模拟服务 bean 中的方法(Spring Boot 2.5)
- angularjs - [import { convertTypeAcquisitionFromJson } from "typescript";] 是否自动插入?
- database - 如何显示与 ID 相关的数据而不是 ID?
- node.js - 使用 ssh 隧道和 Node.js 的 Redis 连接不起作用
- java - 在测试阶段处理测试报告?
- mongodb - 如何根据实体属性和子文档属性查询mongoDB
- react-native - FlatList 没有出现
- java - Spring AOP 不适用于 Spring Boot 中的模型类