jsp+js实现列表table行内可编辑
时间: 2023-12-25 14:03:27 浏览: 81
实现列表table行内可编辑可以通过以下步骤来完成:
1. 在table中每行的td元素中添加一个可编辑的div或者input元素,如下所示:
```html
<table>
<tr>
<td><div contenteditable="true">1</div></td>
<td><div contenteditable="true">John</div></td>
<td><div contenteditable="true">Doe</div></td>
</tr>
<tr>
<td><div contenteditable="true">2</div></td>
<td><div contenteditable="true">Jane</div></td>
<td><div contenteditable="true">Doe</div></td>
</tr>
</table>
```
2. 使用JavaScript监听可编辑元素的blur事件,当元素失去焦点时,将其值更新到对应的td元素中,如下所示:
```javascript
const cells = document.querySelectorAll('td div[contenteditable=true]');
cells.forEach(cell => {
cell.addEventListener('blur', () => {
const td = cell.parentElement;
td.textContent = cell.textContent;
});
});
```
3. 使用CSS设置可编辑元素的样式,如下所示:
```css
td div[contenteditable=true] {
outline: none;
}
```
这样就可以实现列表table行内可编辑了。
阅读全文